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