...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::move_upd::unique_ptr_data
// In header: <boost/move/unique_ptr.hpp> template<typename P, typename D, bool = bmupmu::is_unary_function<D>::value || bmupmu::is_reference<D>::value> struct unique_ptr_data { // types typedef deleter_types< D >::deleter_arg_type1 deleter_arg_type1; typedef deleter_types< D >::del_ref del_ref; typedef deleter_types< D >::del_cref del_cref; // construct/copy/destruct unique_ptr_data() noexcept; explicit unique_ptr_data(P) noexcept; unique_ptr_data(P, deleter_arg_type1) noexcept; template<typename U> unique_ptr_data(P, U &&) noexcept; unique_ptr_data(const unique_ptr_data &); unique_ptr_data & operator=(const unique_ptr_data &); // public member functions del_ref deleter(); del_cref deleter() const; // public data members P m_p; D d; };