.TH "std::shared_ptr< _Tp >" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::shared_ptr< _Tp > \- A smart pointer with reference-counted copy semantics\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits std::__shared_ptr< _Tp, _Lp >\&. .SS "Public Types" .in +1c .ti -1c .RI "\fBusing\fP \fBelement_type\fP = \fBtypename\fP __shared_ptr< _Tp >::element_type" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBconstexpr\fP \fBshared_ptr\fP () \fBnoexcept\fP" .br .RI "Construct an empty shared_ptr\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible<_Yp*>> \fBshared_ptr\fP (\fB_Yp\fP *__p)" .br .RI "Construct a shared_ptr that owns the pointer \fI__p\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP = _Constructible<_Yp*, _Deleter>> \fBshared_ptr\fP (\fB_Yp\fP *__p, _Deleter __d)" .br .RI "Construct a shared_ptr that owns the pointer \fI__p\fP and the deleter \fI__d\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP _Alloc , \fBtypename\fP = _Constructible<_Yp*, _Deleter, _Alloc>> \fBshared_ptr\fP (\fB_Yp\fP *__p, _Deleter __d, _Alloc __a)" .br .RI "Construct a shared_ptr that owns the pointer \fI__p\fP and the deleter \fI__d\fP\&. " .ti -1c .RI "\fBshared_ptr\fP (\fBconst\fP \fBshared_ptr\fP &) \fBnoexcept\fP=\fBdefault\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible&>> \fBshared_ptr\fP (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > &__r) \fBnoexcept\fP" .br .RI "If \fI__r\fP is empty, constructs an empty shared_ptr; otherwise construct a shared_ptr that shares ownership with \fI__r\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP > \fBshared_ptr\fP (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > &__r, element_type *__p) \fBnoexcept\fP" .br .RI "Constructs a shared_ptr instance that stores \fI__p\fP and shares ownership with \fI__r\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible&>> \fBshared_ptr\fP (\fBconst\fP \fBweak_ptr\fP< \fB_Yp\fP > &__r)" .br .RI "Constructs a shared_ptr that shares ownership with \fI__r\fP and stores a copy of the pointer stored in \fI__r\fP\&. " .ti -1c .RI "template<\fBtypename\fP _Deleter > \fBshared_ptr\fP (nullptr_t __p, _Deleter __d)" .br .RI "Construct a shared_ptr that owns a null pointer and the deleter \fI__d\fP\&. " .ti -1c .RI "template<\fBtypename\fP _Deleter , \fBtypename\fP _Alloc > \fBshared_ptr\fP (nullptr_t __p, _Deleter __d, _Alloc __a)" .br .RI "Construct a shared_ptr that owns a null pointer and the deleter \fI__d\fP\&. " .ti -1c .RI "\fBconstexpr\fP \fBshared_ptr\fP (nullptr_t) \fBnoexcept\fP" .br .RI "Construct an empty shared_ptr\&. " .ti -1c .RI "\fBshared_ptr\fP (\fBshared_ptr\fP &&__r) \fBnoexcept\fP" .br .RI "Move-constructs a shared_ptr instance from \fI__r\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible>> \fBshared_ptr\fP (\fBshared_ptr\fP< \fB_Yp\fP > &&__r) \fBnoexcept\fP" .br .RI "Move-constructs a shared_ptr instance from \fI__r\fP\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Tp1\fP , \fBtypename\fP > \fBshared_ptr\fP (\fBstd::auto_ptr\fP< \fB_Tp1\fP > &&__r)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP \fB_Del\fP , \fBtypename\fP = _Constructible>> \fBshared_ptr\fP (\fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > &&__r)" .br .ti -1c .RI "element_type * \fBget\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBoperator bool\fP () \fBconst\fP" .br .ti -1c .RI "element_type & \fBoperator*\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "element_type * \fBoperator\->\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBshared_ptr\fP & \fBoperator=\fP (\fBconst\fP \fBshared_ptr\fP &) \fBnoexcept\fP=\fBdefault\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP > _Assignable< \fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > & > \fBoperator=\fP (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > &__r) \fBnoexcept\fP" .br .ti -1c .RI "\fBshared_ptr\fP & \fBoperator=\fP (\fBshared_ptr\fP &&__r) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBclass\fP \fB_Yp\fP > _Assignable< \fBshared_ptr\fP< \fB_Yp\fP > > \fBoperator=\fP (\fBshared_ptr\fP< \fB_Yp\fP > &&__r) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP \fB_Del\fP > _Assignable< \fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > > \fBoperator=\fP (\fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > &&__r)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Tp1\fP > bool \fBowner_before\fP (__shared_ptr< \fB_Tp1\fP, \fB_Lp\fP > \fBconst\fP &\fB__rhs\fP) \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Tp1\fP > bool \fBowner_before\fP (__weak_ptr< \fB_Tp1\fP, \fB_Lp\fP > \fBconst\fP &\fB__rhs\fP) \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBvoid\fP \fBreset\fP () \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP > _SafeConv< \fB_Yp\fP > \fBreset\fP (\fB_Yp\fP *__p)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter > _SafeConv< \fB_Yp\fP > \fBreset\fP (\fB_Yp\fP *__p, _Deleter __d)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP _Alloc > _SafeConv< \fB_Yp\fP > \fBreset\fP (\fB_Yp\fP *__p, _Deleter __d, _Alloc __a)" .br .ti -1c .RI "\fBvoid\fP \fBswap\fP (__shared_ptr< _Tp, \fB_Lp\fP > &__other) \fBnoexcept\fP" .br .ti -1c .RI "bool \fBunique\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "long \fBuse_count\fP () \fBconst\fP \fBnoexcept\fP" .br .in -1c .SS "Friends" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Alloc , typename\&.\&.\&. _Args> \fBshared_ptr\fP< \fB_Yp\fP > \fBallocate_shared\fP (\fBconst\fP _Alloc &__a, \fB_Args\fP &&\&.\&.\&. \fB__args\fP)" .br .RI "Create an object that is owned by a shared_ptr\&. " .ti -1c .RI "\fBclass\fP \fBweak_ptr< _Tp >\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template<\fBtypename\fP _Tp> .br class std::shared_ptr< _Tp >"A smart pointer with reference-counted copy semantics\&. The object pointed to is deleted when the last shared_ptr pointing to it is destroyed or reset\&. .PP Definition at line \fB103\fP of file \fBbits/shared_ptr\&.h\fP\&. .SH "Member Typedef Documentation" .PP .SS "template<\fBtypename\fP _Tp > \fBusing\fP \fBstd::shared_ptr\fP< _Tp >::element_type = \fBtypename\fP __shared_ptr<_Tp>::element_type" .PP Definition at line \fB117\fP of file \fBbits/shared_ptr\&.h\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBstd::shared_ptr\fP< _Tp >::shared_ptr ()\fC [inline]\fP, \fC [constexpr]\fP, \fC [noexcept]\fP" .PP Construct an empty shared_ptr\&. .PP \fBPostcondition\fP .RS 4 use_count()==0 && get()==0 .RE .PP .PP Definition at line \fB127\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible<_Yp*>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fB_Yp\fP * __p)\fC [inline]\fP, \fC [explicit]\fP" .PP Construct a shared_ptr that owns the pointer \fI__p\fP\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer that is convertible to element_type*\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == 1 && get() == __p .RE .PP \fBExceptions\fP .RS 4 \fIstd::bad_alloc,in\fP which case \fCdelete\fP \fI__p\fP is called\&. .RE .PP .PP Definition at line \fB139\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP = _Constructible<_Yp*, _Deleter>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fB_Yp\fP * __p, _Deleter __d)\fC [inline]\fP" .PP Construct a shared_ptr that owns the pointer \fI__p\fP and the deleter \fI__d\fP\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer\&. .br \fI__d\fP A deleter\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == 1 && get() == __p .RE .PP \fBExceptions\fP .RS 4 \fIstd::bad_alloc,in\fP which case \fI__d(__p)\fP is called\&. .RE .PP Requirements: _Deleter's copy constructor and destructor must not throw .PP __shared_ptr will release __p by calling __d(__p) .PP Definition at line \fB156\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP _Deleter > \fBstd::shared_ptr\fP< _Tp >::shared_ptr (nullptr_t __p, _Deleter __d)\fC [inline]\fP" .PP Construct a shared_ptr that owns a null pointer and the deleter \fI__d\fP\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A null pointer constant\&. .br \fI__d\fP A deleter\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == 1 && get() == __p .RE .PP \fBExceptions\fP .RS 4 \fIstd::bad_alloc,in\fP which case \fI__d(__p)\fP is called\&. .RE .PP Requirements: _Deleter's copy constructor and destructor must not throw .PP The last owner will call __d(__p) .PP Definition at line \fB173\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP _Alloc , \fBtypename\fP = _Constructible<_Yp*, _Deleter, _Alloc>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fB_Yp\fP * __p, _Deleter __d, _Alloc __a)\fC [inline]\fP" .PP Construct a shared_ptr that owns the pointer \fI__p\fP and the deleter \fI__d\fP\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A pointer\&. .br \fI__d\fP A deleter\&. .br \fI__a\fP An allocator\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == 1 && get() == __p .RE .PP \fBExceptions\fP .RS 4 \fIstd::bad_alloc,in\fP which case \fI__d(__p)\fP is called\&. .RE .PP Requirements: _Deleter's copy constructor and destructor must not throw _Alloc's copy constructor and destructor must not throw\&. .PP __shared_ptr will release __p by calling __d(__p) .PP Definition at line \fB193\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP _Deleter , \fBtypename\fP _Alloc > \fBstd::shared_ptr\fP< _Tp >::shared_ptr (nullptr_t __p, _Deleter __d, _Alloc __a)\fC [inline]\fP" .PP Construct a shared_ptr that owns a null pointer and the deleter \fI__d\fP\&. .PP \fBParameters\fP .RS 4 \fI__p\fP A null pointer constant\&. .br \fI__d\fP A deleter\&. .br \fI__a\fP An allocator\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == 1 && get() == __p .RE .PP \fBExceptions\fP .RS 4 \fIstd::bad_alloc,in\fP which case \fI__d(__p)\fP is called\&. .RE .PP Requirements: _Deleter's copy constructor and destructor must not throw _Alloc's copy constructor and destructor must not throw\&. .PP The last owner will call __d(__p) .PP Definition at line \fB212\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP > \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > & __r, element_type * __p)\fC [inline]\fP, \fC [noexcept]\fP" .PP Constructs a shared_ptr instance that stores \fI__p\fP and shares ownership with \fI__r\fP\&. .PP \fBParameters\fP .RS 4 \fI__r\fP A shared_ptr\&. .br \fI__p\fP A pointer that will remain valid while \fI*__r\fP is valid\&. .RE .PP \fBPostcondition\fP .RS 4 get() == __p && use_count() == __r\&.use_count() .RE .PP This can be used to construct a \fCshared_ptr\fP to a sub-object of an object managed by an existing \fCshared_ptr\fP\&. .PP .PP .nf shared_ptr< pair > pii(new pair()); shared_ptr pi(pii, &pii\->first); assert(pii\&.use_count() == 2); .fi .PP .PP Definition at line \fB234\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible&>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > & __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP If \fI__r\fP is empty, constructs an empty shared_ptr; otherwise construct a shared_ptr that shares ownership with \fI__r\fP\&. .PP \fBParameters\fP .RS 4 \fI__r\fP A shared_ptr\&. .RE .PP \fBPostcondition\fP .RS 4 get() == __r\&.get() && use_count() == __r\&.use_count() .RE .PP .PP Definition at line \fB246\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBshared_ptr\fP< _Tp > && __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP Move-constructs a shared_ptr instance from \fI__r\fP\&. .PP \fBParameters\fP .RS 4 \fI__r\fP A shared_ptr rvalue\&. .RE .PP \fBPostcondition\fP .RS 4 *this contains the old value of \fI__r\fP, \fI__r\fP is empty\&. .RE .PP .PP Definition at line \fB254\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBshared_ptr\fP< \fB_Yp\fP > && __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP Move-constructs a shared_ptr instance from \fI__r\fP\&. .PP \fBParameters\fP .RS 4 \fI__r\fP A shared_ptr rvalue\&. .RE .PP \fBPostcondition\fP .RS 4 *this contains the old value of \fI__r\fP, \fI__r\fP is empty\&. .RE .PP .PP Definition at line \fB263\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP = _Constructible&>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBconst\fP \fBweak_ptr\fP< \fB_Yp\fP > & __r)\fC [inline]\fP, \fC [explicit]\fP" .PP Constructs a shared_ptr that shares ownership with \fI__r\fP and stores a copy of the pointer stored in \fI__r\fP\&. .PP \fBParameters\fP .RS 4 \fI__r\fP A weak_ptr\&. .RE .PP \fBPostcondition\fP .RS 4 use_count() == __r\&.use_count() .RE .PP \fBExceptions\fP .RS 4 \fIbad_weak_ptr\fP when __r\&.expired(), in which case the constructor has no effect\&. .RE .PP .PP Definition at line \fB275\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP \fB_Del\fP , \fBtypename\fP = _Constructible>> \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > && __r)\fC [inline]\fP" .PP Definition at line \fB290\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBstd::shared_ptr\fP< _Tp >::shared_ptr (nullptr_t)\fC [inline]\fP, \fC [constexpr]\fP, \fC [noexcept]\fP" .PP Construct an empty shared_ptr\&. .PP \fBPostcondition\fP .RS 4 use_count() == 0 && get() == nullptr .RE .PP .PP Definition at line \fB307\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Tp1\fP , \fBtypename\fP > \fBstd::shared_ptr\fP< _Tp >::shared_ptr (\fBstd::auto_ptr\fP< \fB_Tp1\fP > && __r)\fC [inline]\fP" .PP Definition at line \fB322\fP of file \fBauto_ptr\&.h\fP\&. .SH "Member Function Documentation" .PP .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> element_type * std::__shared_ptr< _Tp, \fB_Lp\fP >::get () const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1309\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> std::__shared_ptr< _Tp, \fB_Lp\fP >::operator bool () const\fC [inline]\fP, \fC [explicit]\fP, \fC [inherited]\fP" .PP Definition at line \fB1312\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp, bool = is_array<_Tp>::value, bool = is_void<_Tp>::value> element_type & std::__shared_ptr_access< _Tp, \fB_Lp\fP, bool, bool >::operator* () const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1005\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp, bool = is_array<_Tp>::value, bool = is_void<_Tp>::value> element_type * std::__shared_ptr_access< _Tp, \fB_Lp\fP, bool, bool >::operator\-> () const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1012\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP > _Assignable< \fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > & > \fBstd::shared_ptr\fP< _Tp >::operator= (\fBconst\fP \fBshared_ptr\fP< \fB_Yp\fP > & __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB313\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > \fBshared_ptr\fP & \fBstd::shared_ptr\fP< _Tp >::operator= (\fBshared_ptr\fP< _Tp > && __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB333\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBclass\fP \fB_Yp\fP > _Assignable< \fBshared_ptr\fP< \fB_Yp\fP > > \fBstd::shared_ptr\fP< _Tp >::operator= (\fBshared_ptr\fP< \fB_Yp\fP > && __r)\fC [inline]\fP, \fC [noexcept]\fP" .PP Definition at line \fB341\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP \fB_Del\fP > _Assignable< \fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > > \fBstd::shared_ptr\fP< _Tp >::operator= (\fBunique_ptr\fP< \fB_Yp\fP, \fB_Del\fP > && __r)\fC [inline]\fP" .PP Definition at line \fB349\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> template<\fBtypename\fP \fB_Tp1\fP > bool std::__shared_ptr< _Tp, \fB_Lp\fP >::owner_before (__shared_ptr< \fB_Tp1\fP, \fB_Lp\fP > \fBconst\fP & __rhs) const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1332\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> template<\fBtypename\fP \fB_Tp1\fP > bool std::__shared_ptr< _Tp, \fB_Lp\fP >::owner_before (__weak_ptr< \fB_Tp1\fP, \fB_Lp\fP > \fBconst\fP & __rhs) const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1337\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> \fBvoid\fP std::__shared_ptr< _Tp, \fB_Lp\fP >::reset ()\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1286\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> template<\fBtypename\fP \fB_Yp\fP > _SafeConv< \fB_Yp\fP > std::__shared_ptr< _Tp, \fB_Lp\fP >::reset (\fB_Yp\fP * __p)\fC [inline]\fP, \fC [inherited]\fP" .PP Definition at line \fB1291\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter > _SafeConv< \fB_Yp\fP > std::__shared_ptr< _Tp, \fB_Lp\fP >::reset (\fB_Yp\fP * __p, _Deleter __d)\fC [inline]\fP, \fC [inherited]\fP" .PP Definition at line \fB1300\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Deleter , \fBtypename\fP _Alloc > _SafeConv< \fB_Yp\fP > std::__shared_ptr< _Tp, \fB_Lp\fP >::reset (\fB_Yp\fP * __p, _Deleter __d, _Alloc __a)\fC [inline]\fP, \fC [inherited]\fP" .PP Definition at line \fB1305\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> \fBvoid\fP std::__shared_ptr< _Tp, \fB_Lp\fP >::swap (__shared_ptr< _Tp, \fB_Lp\fP > & __other)\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1324\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> bool std::__shared_ptr< _Tp, \fB_Lp\fP >::unique () const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1316\fP of file \fBshared_ptr_base\&.h\fP\&. .SS "template<\fBtypename\fP _Tp , _Lock_policy _Lp> long std::__shared_ptr< _Tp, \fB_Lp\fP >::use_count () const\fC [inline]\fP, \fC [noexcept]\fP, \fC [inherited]\fP" .PP Definition at line \fB1320\fP of file \fBshared_ptr_base\&.h\fP\&. .SH "Friends And Related Symbol Documentation" .PP .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Yp\fP , \fBtypename\fP _Alloc , typename\&.\&.\&. _Args> \fBshared_ptr\fP< \fB_Yp\fP > allocate_shared (\fBconst\fP _Alloc & __a, \fB_Args\fP &&\&.\&.\&. __args)\fC [friend]\fP" .PP Create an object that is owned by a shared_ptr\&. .PP \fBParameters\fP .RS 4 \fI__a\fP An allocator\&. .br \fI__args\fP Arguments for the \fI_Tp\fP object's constructor\&. .RE .PP \fBReturns\fP .RS 4 A shared_ptr that owns the newly created object\&. .RE .PP \fBExceptions\fP .RS 4 \fIAn\fP exception thrown from \fI_Alloc::allocate\fP or from the constructor of \fI_Tp\fP\&. .RE .PP A copy of \fI__a\fP will be used to allocate memory for the shared_ptr and the new object\&. .PP Definition at line \fB699\fP of file \fBbits/shared_ptr\&.h\fP\&. .SS "template<\fBtypename\fP _Tp > friend \fBclass\fP \fBweak_ptr\fP< _Tp >\fC [friend]\fP" .PP Definition at line \fB367\fP of file \fBbits/shared_ptr\&.h\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.