boost::interprocess::swap
// In header: <boost/interprocess/smart_ptr/intrusive_ptr.hpp> template<typename T, typename VP> (intrusive_ptr< lhs, intrusive_ptr< rhs);
Exchanges the contents of the two intrusive_ptrs. Does not throw