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