.TH "std::unique_ptr< _Tp, _Dp >" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::unique_ptr< _Tp, _Dp > \- 20\&.7\&.1\&.2 unique_ptr for single objects\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Types" .in +1c .ti -1c .RI "\fBusing\fP \fBdeleter_type\fP = \fB_Dp\fP" .br .ti -1c .RI "\fBusing\fP \fBelement_type\fP = _Tp" .br .ti -1c .RI "\fBusing\fP \fBpointer\fP = \fBtypename\fP \fB__uniq_ptr_impl\fP< _Tp, \fB_Dp\fP >::pointer" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBconstexpr\fP \fBunique_ptr\fP () \fBnoexcept\fP" .br .RI "Default constructor, creates a unique_ptr that owns nothing\&. " .ti -1c .RI "template<\fBtypename\fP _Up , \fBtypename\fP > \fBunique_ptr\fP (\fBauto_ptr\fP< _Up > &&\fB__u\fP) \fBnoexcept\fP" .br .ti -1c .RI "\fBunique_ptr\fP (\fBconst\fP \fBunique_ptr\fP &)=\fBdelete\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBconstexpr\fP \fBunique_ptr\fP (nullptr_t) \fBnoexcept\fP" .br .RI "Creates a unique_ptr that owns nothing\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBunique_ptr\fP (pointer __p) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = deleter_type, \fBtypename\fP = _Require>> \fBunique_ptr\fP (pointer __p, \fB__enable_if_t\fP::value, \fB_Del\fP && > __d) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = deleter_type, \fBtypename\fP = _Require>> \fBunique_ptr\fP (pointer __p, \fBconst\fP \fBdeleter_type\fP &__d) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Del\fP = deleter_type, \fBtypename\fP \fB_DelUnref\fP = typename remove_reference<_Del>::type> \fBunique_ptr\fP (pointer, \fB__enable_if_t\fP< \fBis_lvalue_reference\fP< \fB_Del\fP >::value, \fB_DelUnref\fP && >)=\fBdelete\fP" .br .ti -1c .RI "\fBunique_ptr\fP (\fBunique_ptr\fP &&)=\fBdefault\fP" .br .RI "Move constructor\&. " .ti -1c .RI "template<\fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP , \fBtypename\fP = _Require< __safe_conversion_up<_Up, _Ep>, typename conditional::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> \fBunique_ptr\fP (\fBunique_ptr\fP< _Up, \fB_Ep\fP > &&\fB__u\fP) \fBnoexcept\fP" .br .RI "Converting constructor from another type\&. " .ti -1c .RI "\fB~unique_ptr\fP () \fBnoexcept\fP" .br .RI "Destructor, invokes the deleter if the stored pointer is not null\&. " .ti -1c .RI "pointer \fBget\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Return the stored pointer\&. " .ti -1c .RI "\fBconst\fP \fBdeleter_type\fP & \fBget_deleter\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Return a reference to the stored deleter\&. " .ti -1c .RI "\fBdeleter_type\fP & \fBget_deleter\fP () \fBnoexcept\fP" .br .RI "Return a reference to the stored deleter\&. " .ti -1c .RI "\fBoperator bool\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Return \fCtrue\fP if the stored pointer is not null\&. " .ti -1c .RI "\fBadd_lvalue_reference\fP< element_type >::type \fBoperator*\fP () \fBconst\fP" .br .RI "Dereference the stored pointer\&. " .ti -1c .RI "pointer \fBoperator\->\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Return the stored pointer\&. " .ti -1c .RI "\fBunique_ptr\fP & \fBoperator=\fP (\fBconst\fP \fBunique_ptr\fP &)=\fBdelete\fP" .br .ti -1c .RI "\fBunique_ptr\fP & \fBoperator=\fP (nullptr_t) \fBnoexcept\fP" .br .RI "Reset the unique_ptr to empty, invoking the deleter if necessary\&. " .ti -1c .RI "\fBunique_ptr\fP & \fBoperator=\fP (\fBunique_ptr\fP &&)=\fBdefault\fP" .br .RI "Move assignment operator\&. " .ti -1c .RI "template<\fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > \fBenable_if\fP< __and_< \fB__safe_conversion_up\fP< _Up, \fB_Ep\fP >, \fBis_assignable\fP< \fBdeleter_type\fP &, \fB_Ep\fP && > >::value, \fBunique_ptr\fP & >::type \fBoperator=\fP (\fBunique_ptr\fP< _Up, \fB_Ep\fP > &&\fB__u\fP) \fBnoexcept\fP" .br .RI "Assignment from another type\&. " .ti -1c .RI "pointer \fBrelease\fP () \fBnoexcept\fP" .br .RI "Release ownership of any stored pointer\&. " .ti -1c .RI "\fBvoid\fP \fBreset\fP (pointer __p=pointer()) \fBnoexcept\fP" .br .RI "Replace the stored pointer\&. " .ti -1c .RI "\fBvoid\fP \fBswap\fP (\fBunique_ptr\fP &\fB__u\fP) \fBnoexcept\fP" .br .RI "Exchange the pointer and deleter with another object\&. " .in -1c .SS "Related Symbols" (Note that these are not member symbols\&.) .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > \fBenable_if\fP< \fB__is_swappable\fP< \fB_Dp\fP >::value >::type \fBswap\fP (\fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &\fB__y\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator==\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Equality operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator==\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t) \fBnoexcept\fP" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator==\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x) \fBnoexcept\fP" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator!=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Inequality operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator!=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t) \fBnoexcept\fP" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator!=\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x) \fBnoexcept\fP" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator<\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Relational operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator<\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator<\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator<=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Relational operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator<=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator<=\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator>\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Relational operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator>\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator>\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP , \fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > bool \fBoperator>=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, \fBconst\fP \fBunique_ptr\fP< _Up, \fB_Ep\fP > &\fB__y\fP)" .br .RI "Relational operator for unique_ptr objects, compares the owned pointers\&. " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator>=\fP (\fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x, nullptr_t)" .br .RI "unique_ptr comparison with nullptr " .ti -1c .RI "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP > bool \fBoperator>=\fP (nullptr_t, \fBconst\fP \fBunique_ptr\fP< _Tp, \fB_Dp\fP > &__x)" .br .RI "unique_ptr comparison with nullptr " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "template<\fBtypename\fP _Tp , typename\&.\&.\&. _Args> \fB_MakeUniq\fP< _Tp >::__single_object \fBmake_unique\fP (\fB_Args\fP &&\&.\&.\&. \fB__args\fP)" .br .RI "std::make_unique for single objects " .ti -1c .RI "template<\fBtypename\fP _Tp > \fB_MakeUniq\fP< _Tp >::__array \fBmake_unique\fP (size_t \fB__num\fP)" .br .RI "std::make_unique for arrays of unknown bound " .ti -1c .RI "template<\fBtypename\fP _Tp , typename\&.\&.\&. _Args> \fB_MakeUniq\fP< _Tp >::__invalid_type \fBmake_unique\fP (\fB_Args\fP &&\&.\&.\&.)=\fBdelete\fP" .br .RI "Disable std::make_unique for arrays of known bound\&. " .in -1c .in -1c .SH "Detailed Description" .PP .SS "template<\fBtypename\fP _Tp, \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> .br class std::unique_ptr< _Tp, _Dp >"20\&.7\&.1\&.2 unique_ptr for single objects\&. .SH "Constructor & Destructor Documentation" .PP .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBconstexpr\fP \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr ()\fC [inline]\fP, \fC [constexpr]\fP, \fC [noexcept]\fP" .PP Default constructor, creates a unique_ptr that owns nothing\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (pointer __p)\fC [inline]\fP, \fC [explicit]\fP, \fC [noexcept]\fP" Takes ownership of a pointer\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer to an object of \fCelement_type\fP .RE .PP The deleter will be value-initialized\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP \fB_Del\fP = deleter_type, \fBtypename\fP = _Require>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (pointer __p, \fBconst\fP \fBdeleter_type\fP & __d)\fC [inline]\fP, \fC [noexcept]\fP" Takes ownership of a pointer\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer to an object of \fCelement_type\fP .br \fI__d\fP A reference to a deleter\&. .RE .PP The deleter will be initialized with \fC__d\fP .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP \fB_Del\fP = deleter_type, \fBtypename\fP = _Require>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (pointer __p, \fB__enable_if_t\fP::value, \fB_Del\fP && > __d)\fC [inline]\fP, \fC [noexcept]\fP" Takes ownership of a pointer\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer to an object of \fCelement_type\fP .br \fI__d\fP An rvalue reference to a (non-reference) deleter\&. .RE .PP The deleter will be initialized with \fCstd::move(__d)\fP .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP \fB_Del\fP = _Dp, \fBtypename\fP = _DeleterConstraint<_Del>> \fBconstexpr\fP \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (nullptr_t)\fC [inline]\fP, \fC [constexpr]\fP, \fC [noexcept]\fP" .PP Creates a unique_ptr that owns nothing\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (\fBunique_ptr\fP< _Tp, \fB_Dp\fP > &&)\fC [default]\fP" .PP Move constructor\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP , \fBtypename\fP = _Require< __safe_conversion_up<_Up, _Ep>, typename conditional::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::unique_ptr (\fBunique_ptr\fP< _Up, \fB_Ep\fP > && __u)\fC [inline]\fP, \fC [noexcept]\fP" .PP Converting constructor from another type\&. Requires that the pointer owned by \fC__u\fP is convertible to the type of pointer owned by this object, \fC__u\fP does not own an array, and \fC__u\fP has a compatible deleter type\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::~\fBunique_ptr\fP ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Destructor, invokes the deleter if the stored pointer is not null\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::get_deleter()\fP, and \fBstd::move()\fP\&. .SH "Member Function Documentation" .PP .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> pointer \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::get () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Return the stored pointer\&. .PP Referenced by \fBstd::unique_ptr< _Tp, _Dp >::operator bool()\fP, \fBstd::unique_ptr< _Tp[], _Dp >::operator bool()\fP, \fBstd::unique_ptr< _Tp, _Dp >::operator*()\fP, \fBstd::unique_ptr< _Tp, _Dp >::operator\->()\fP, and \fBstd::unique_ptr< _Tp[], _Dp >::operator[]()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBconst\fP \fBdeleter_type\fP & \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::get_deleter () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Return a reference to the stored deleter\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBdeleter_type\fP & \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::get_deleter ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Return a reference to the stored deleter\&. .PP Referenced by \fBstd::unique_ptr< _Tp[], _Dp >::~unique_ptr()\fP, \fBstd::unique_ptr< _Tp, _Dp >::~unique_ptr()\fP, \fBstd::unique_ptr< _Tp, _Dp >::operator=()\fP, and \fBstd::unique_ptr< _Tp[], _Dp >::operator=()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator bool () const\fC [inline]\fP, \fC [explicit]\fP, \fC [noexcept]\fP" .PP Return \fCtrue\fP if the stored pointer is not null\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::get()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBadd_lvalue_reference\fP< element_type >::type \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator* () const\fC [inline]\fP" .PP Dereference the stored pointer\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::get()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> pointer \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator\-> () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Return the stored pointer\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::get()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBunique_ptr\fP & \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator= (nullptr_t)\fC [inline]\fP, \fC [noexcept]\fP" .PP Reset the unique_ptr to empty, invoking the deleter if necessary\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::reset()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBunique_ptr\fP & \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator= (\fBunique_ptr\fP< _Tp, \fB_Dp\fP > &&)\fC [default]\fP" .PP Move assignment operator\&. Invokes the deleter if this object owns a pointer\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> template<\fBtypename\fP _Up , \fBtypename\fP \fB_Ep\fP > \fBenable_if\fP< __and_< \fB__safe_conversion_up\fP< _Up, \fB_Ep\fP >, \fBis_assignable\fP< \fBdeleter_type\fP &, \fB_Ep\fP && > >::value, \fBunique_ptr\fP & >::type \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::operator= (\fBunique_ptr\fP< _Up, \fB_Ep\fP > && __u)\fC [inline]\fP, \fC [noexcept]\fP" .PP Assignment from another type\&. .PP \fBParameters\fP .RS 4 \fI__u\fP The object to transfer ownership from, which owns a convertible pointer to a non-array object\&. .RE .PP Invokes the deleter if this object owns a pointer\&. .PP References \fBstd::unique_ptr< _Tp, _Dp >::get_deleter()\fP, and \fBstd::unique_ptr< _Tp, _Dp >::reset()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> pointer \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::release ()\fC [inline]\fP, \fC [noexcept]\fP" .PP Release ownership of any stored pointer\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBvoid\fP \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::reset (pointer __p = \fCpointer()\fP)\fC [inline]\fP, \fC [noexcept]\fP" .PP Replace the stored pointer\&. .PP \fBParameters\fP .RS 4 \fI__p\fP The new pointer to store\&. .RE .PP The deleter will be invoked if a pointer is already owned\&. .PP References \fBstd::move()\fP\&. .PP Referenced by \fBstd::unique_ptr< _Tp, _Dp >::operator=()\fP, \fBstd::unique_ptr< _Tp[], _Dp >::operator=()\fP, \fBstd::unique_ptr< _Tp, _Dp >::operator=()\fP, and \fBstd::unique_ptr< _Tp[], _Dp >::operator=()\fP\&. .SS "template<\fBtypename\fP _Tp , \fBtypename\fP \fB_Dp\fP = default_delete<_Tp>> \fBvoid\fP \fBstd::unique_ptr\fP< _Tp, \fB_Dp\fP >::swap (\fBunique_ptr\fP< _Tp, \fB_Dp\fP > & __u)\fC [inline]\fP, \fC [noexcept]\fP" .PP Exchange the pointer and deleter with another object\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.