boost::interprocess::swap
// In header: <boost/interprocess/smart_ptr/scoped_ptr.hpp> template<typename T, typename D> (scoped_ptr< a, scoped_ptr< b);
Exchanges the internal pointer and deleter with other scoped_ptr Never throws.
scoped_ptr