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