Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, usable also from C++03 compilers. More...
#include <boost/move/detail/config_begin.hpp>#include <boost/move/detail/workaround.hpp>#include <boost/move/detail/unique_ptr_meta_utils.hpp>#include <boost/move/default_delete.hpp>#include <boost/move/utility_core.hpp>#include <boost/static_assert.hpp>#include <boost/assert.hpp>#include <cstddef>#include <boost/move/detail/config_end.hpp>

Namespaces | |
| boost | |
| Duration formatting facet for input. | |
| boost::move_upd | |
| boost::movelib | |
Functions | |
| template<class T , class D > | |
| void | boost::movelib::swap (unique_ptr< T, D > &x, unique_ptr< T, D > &y) BOOST_NOEXCEPT |
Effects: Calls x.swap(y). More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator== (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
Returns: x.get() == y.get(). More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator!= (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
Returns: x.get() != y.get(). More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator< (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
| Returns: x.get() < y.get(). More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator<= (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
| Returns: !(y < x). More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator> (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
| Returns: y < x. More... | |
| template<class T1 , class D1 , class T2 , class D2 > | |
| bool | boost::movelib::operator>= (const unique_ptr< T1, D1 > &x, const unique_ptr< T2, D2 > &y) |
| Returns:!(x < y). More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator== (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT |
| Returns:!x. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator== (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) BOOST_NOEXCEPT |
| Returns:!x. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator!= (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT |
| Returns: (bool)x. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator!= (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) BOOST_NOEXCEPT |
| Returns: (bool)x. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator< (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) |
Requires: operator shall induce a strict weak ordering on unique_ptr<T, D>::pointer values. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator< (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) |
Requires: operator shall induce a strict weak ordering on unique_ptr<T, D>::pointer values. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator> (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) |
Returns: nullptr < x. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator> (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) |
Returns: x < nullptr. More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator<= (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) |
Returns: !(nullptr < x). More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator<= (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) |
Returns: !(x < nullptr). More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator>= (const unique_ptr< T, D > &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) |
Returns: !(x < nullptr). More... | |
| template<class T , class D > | |
| bool | boost::movelib::operator>= (BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr< T, D > &x) |
Returns: !(nullptr < x). More... | |
Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, usable also from C++03 compilers.
Main differences from std::unique_ptr to avoid heavy dependencies, specially in C++03 compilers:
operator < uses pointer operator < instead of std::less<common_type>. This avoids dependencies on std::common_type and std::less (<type_traits>/<functional> headers. In C++03 this avoid pulling Boost.Typeof and other cascading dependencies. As in all Boost platforms operator < on raw pointers and other smart pointers provides strict weak ordering in practice this should not be a problem for users.unique_ptr<T[]> is constructible and assignable from unique_ptr<U[]> if cv-less T and cv-less U are the same type and T is more CV qualified than U.