boost::sync::swap
// In header: <boost/sync/locks/shared_lock.hpp> template<typename Mutex> void swap(shared_lock< Mutex > & lhs, shared_lock< Mutex > & rhs);