#include <boost_shared_ptr.h>
Public Types | |
typedef _Tp | element_type |
Public Member Functions | |
shared_ptr () | |
Construct an empty shared_ptr. | |
template<typename _Tp1> | |
shared_ptr (_Tp1 *__p) | |
Construct a shared_ptr that owns the pointer p. | |
template<typename _Tp1, typename _Deleter> | |
shared_ptr (_Tp1 *__p, _Deleter __d) | |
Construct a shared_ptr that owns the pointer p and the deleter d. | |
template<typename _Tp1> | |
shared_ptr (const shared_ptr< _Tp1 > &__r) | |
If r is empty, constructs an empty shared_ptr; otherwise construct a shared_ptr that shares ownership with r. | |
template<typename _Tp1> | |
shared_ptr (const weak_ptr< _Tp1 > &__r) | |
Constructs a shared_ptr that shares ownership with r and stores a copy of the pointer stored in r. | |
template<typename _Tp1> | |
shared_ptr (std::auto_ptr< _Tp1 > &__r) | |
template<typename _Tp1> | |
shared_ptr (const shared_ptr< _Tp1 > &__r, __static_cast_tag) | |
template<typename _Tp1> | |
shared_ptr (const shared_ptr< _Tp1 > &__r, __const_cast_tag) | |
template<typename _Tp1> | |
shared_ptr (const shared_ptr< _Tp1 > &__r, __dynamic_cast_tag) | |
template<typename _Tp1> | |
shared_ptr & | operator= (const shared_ptr< _Tp1 > &__r) |
template<typename _Tp1> | |
shared_ptr & | operator= (std::auto_ptr< _Tp1 > &__r) |
void | reset () |
template<typename _Tp1> | |
void | reset (_Tp1 *__p) |
template<typename _Tp1, typename _Deleter> | |
void | reset (_Tp1 *__p, _Deleter __d) |
_Reference | operator * () const |
_Tp * | operator-> () const |
_Tp * | get () const |
operator __unspecified_bool_type () const | |
bool | unique () const |
long | use_count () const |
void | swap (shared_ptr< _Tp > &__other) |
Private Types | |
typedef shared_ptr_traits< _Tp >::reference | _Reference |
typedef _Tp *shared_ptr::* | __unspecified_bool_type |
Private Member Functions | |
void * | _M_get_deleter (const std::type_info &__ti) const |
template<typename _Tp1> | |
bool | _M_less (const shared_ptr< _Tp1 > &__rhs) const |
Private Attributes | |
_Tp * | _M_ptr |
shared_count | _M_refcount |
Friends | |
class | shared_ptr |
class | weak_ptr |
template<typename _Del, typename _Tp1> | |
_Del * | get_deleter (const shared_ptr< _Tp1 > &) |
template<typename _Tp1> | |
bool | operator== (const shared_ptr &__a, const shared_ptr< _Tp1 > &__b) |
template<typename _Tp1> | |
bool | operator!= (const shared_ptr &__a, const shared_ptr< _Tp1 > &__b) |
template<typename _Tp1> | |
bool | operator< (const shared_ptr &__a, const shared_ptr< _Tp1 > &__b) |
Definition at line 485 of file boost_shared_ptr.h.
typedef _Tp* shared_ptr::* std::tr1::shared_ptr< _Tp >::__unspecified_bool_type [private] |
Definition at line 661 of file boost_shared_ptr.h.
typedef shared_ptr_traits<_Tp>::reference std::tr1::shared_ptr< _Tp >::_Reference [private] |
Definition at line 487 of file boost_shared_ptr.h.
typedef _Tp std::tr1::shared_ptr< _Tp >::element_type |
Definition at line 491 of file boost_shared_ptr.h.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | ) | [inline] |
Construct an empty shared_ptr.
Definition at line 496 of file boost_shared_ptr.h.
Referenced by std::tr1::shared_ptr< _Tp >::operator=(), and std::tr1::shared_ptr< _Tp >::reset().
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | _Tp1 * | __p | ) | [inline, explicit] |
Construct a shared_ptr that owns the pointer p.
p | A pointer that is convertible to element_type*. |
std::bad_alloc,in | which case delete p is called. |
Definition at line 506 of file boost_shared_ptr.h.
References std::tr1::__enable_shared_from_this(), __glibcxx_function_requires, and std::tr1::shared_ptr< _Tp >::_M_refcount.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | _Tp1 * | __p, | |
_Deleter | __d | |||
) | [inline] |
Construct a shared_ptr that owns the pointer p and the deleter d.
p | A pointer. | |
d | A deleter. |
std::bad_alloc,in | which case d(p) is called. |
Definition at line 528 of file boost_shared_ptr.h.
References std::tr1::__enable_shared_from_this(), __glibcxx_function_requires, and std::tr1::shared_ptr< _Tp >::_M_refcount.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | const shared_ptr< _Tp1 > & | __r | ) | [inline] |
If r is empty, constructs an empty shared_ptr; otherwise construct a shared_ptr that shares ownership with r.
r | A shared_ptr. |
std::bad_alloc,in | which case |
Definition at line 546 of file boost_shared_ptr.h.
References __glibcxx_function_requires.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | const weak_ptr< _Tp1 > & | __r | ) | [inline, explicit] |
Constructs a shared_ptr that shares ownership with r and stores a copy of the pointer stored in r.
r | A weak_ptr. |
bad_weak_ptr | when r.expired(), in which case the constructor has no effect. |
Definition at line 560 of file boost_shared_ptr.h.
References __glibcxx_function_requires, std::tr1::weak_ptr< _Tp >::_M_ptr, and std::tr1::shared_ptr< _Tp >::_M_ptr.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | std::auto_ptr< _Tp1 > & | __r | ) | [inline, explicit] |
Definition at line 573 of file boost_shared_ptr.h.
References std::tr1::__enable_shared_from_this(), std::tr1::shared_ptr< _Tp >::_M_refcount, and std::auto_ptr< _Tp >::get().
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | const shared_ptr< _Tp1 > & | __r, | |
__static_cast_tag | ||||
) | [inline] |
Definition at line 585 of file boost_shared_ptr.h.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | const shared_ptr< _Tp1 > & | __r, | |
__const_cast_tag | ||||
) | [inline] |
Definition at line 591 of file boost_shared_ptr.h.
std::tr1::shared_ptr< _Tp >::shared_ptr | ( | const shared_ptr< _Tp1 > & | __r, | |
__dynamic_cast_tag | ||||
) | [inline] |
Definition at line 597 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_ptr, and std::tr1::shared_ptr< _Tp >::_M_refcount.
void* std::tr1::shared_ptr< _Tp >::_M_get_deleter | ( | const std::type_info & | __ti | ) | const [inline, private] |
Definition at line 684 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_refcount, and std::tr1::shared_count::get_deleter().
Referenced by std::tr1::get_deleter().
bool std::tr1::shared_ptr< _Tp >::_M_less | ( | const shared_ptr< _Tp1 > & | __rhs | ) | const [inline, private] |
Definition at line 689 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_refcount.
_Tp* std::tr1::shared_ptr< _Tp >::get | ( | void | ) | const [inline] |
_Reference std::tr1::shared_ptr< _Tp >::operator * | ( | ) | const [inline] |
Definition at line 642 of file boost_shared_ptr.h.
References _GLIBCXX_DEBUG_ASSERT, and std::tr1::shared_ptr< _Tp >::_M_ptr.
std::tr1::shared_ptr< _Tp >::operator __unspecified_bool_type | ( | ) | const [inline] |
_Tp* std::tr1::shared_ptr< _Tp >::operator-> | ( | ) | const [inline] |
Definition at line 649 of file boost_shared_ptr.h.
References _GLIBCXX_DEBUG_ASSERT, and std::tr1::shared_ptr< _Tp >::_M_ptr.
shared_ptr& std::tr1::shared_ptr< _Tp >::operator= | ( | std::auto_ptr< _Tp1 > & | __r | ) | [inline] |
Definition at line 616 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::shared_ptr().
shared_ptr& std::tr1::shared_ptr< _Tp >::operator= | ( | const shared_ptr< _Tp1 > & | __r | ) | [inline] |
Definition at line 607 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_ptr, and std::tr1::shared_ptr< _Tp >::_M_refcount.
void std::tr1::shared_ptr< _Tp >::reset | ( | _Tp1 * | __p, | |
_Deleter | __d | |||
) | [inline] |
Definition at line 637 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::shared_ptr().
void std::tr1::shared_ptr< _Tp >::reset | ( | _Tp1 * | __p | ) | [inline] |
Definition at line 628 of file boost_shared_ptr.h.
References _GLIBCXX_DEBUG_ASSERT, std::tr1::shared_ptr< _Tp >::_M_ptr, and std::tr1::shared_ptr< _Tp >::shared_ptr().
void std::tr1::shared_ptr< _Tp >::reset | ( | ) | [inline] |
Definition at line 623 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::shared_ptr().
void std::tr1::shared_ptr< _Tp >::swap | ( | shared_ptr< _Tp > & | __other | ) | [inline] |
Definition at line 676 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_ptr, std::tr1::shared_ptr< _Tp >::_M_refcount, std::tr1::shared_count::swap(), and std::swap().
Referenced by std::tr1::swap().
bool std::tr1::shared_ptr< _Tp >::unique | ( | ) | const [inline] |
Definition at line 668 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_refcount, and std::tr1::shared_count::unique().
long std::tr1::shared_ptr< _Tp >::use_count | ( | ) | const [inline] |
Definition at line 672 of file boost_shared_ptr.h.
References std::tr1::shared_ptr< _Tp >::_M_refcount, and std::tr1::shared_count::use_count().
_Del* get_deleter | ( | const shared_ptr< _Tp1 > & | ) | [friend] |
bool operator!= | ( | const shared_ptr< _Tp > & | __a, | |
const shared_ptr< _Tp1 > & | __b | |||
) | [friend] |
Definition at line 706 of file boost_shared_ptr.h.
bool operator< | ( | const shared_ptr< _Tp > & | __a, | |
const shared_ptr< _Tp1 > & | __b | |||
) | [friend] |
Definition at line 711 of file boost_shared_ptr.h.
bool operator== | ( | const shared_ptr< _Tp > & | __a, | |
const shared_ptr< _Tp1 > & | __b | |||
) | [friend] |
Definition at line 701 of file boost_shared_ptr.h.
friend class shared_ptr [friend] |
Definition at line 692 of file boost_shared_ptr.h.
friend class weak_ptr [friend] |
Definition at line 693 of file boost_shared_ptr.h.
_Tp* std::tr1::shared_ptr< _Tp >::_M_ptr [private] |
Definition at line 714 of file boost_shared_ptr.h.
Referenced by std::tr1::shared_ptr< _Tp >::get(), std::tr1::shared_ptr< _Tp >::operator *(), std::tr1::shared_ptr< _Tp >::operator __unspecified_bool_type(), std::tr1::shared_ptr< _Tp >::operator->(), std::tr1::weak_ptr< _Tp >::operator=(), std::tr1::shared_ptr< _Tp >::operator=(), std::tr1::shared_ptr< _Tp >::reset(), std::tr1::shared_ptr< _Tp >::shared_ptr(), and std::tr1::shared_ptr< _Tp >::swap().
shared_count std::tr1::shared_ptr< _Tp >::_M_refcount [private] |
Definition at line 715 of file boost_shared_ptr.h.
Referenced by std::tr1::shared_ptr< _Tp >::_M_get_deleter(), std::tr1::shared_ptr< _Tp >::_M_less(), std::tr1::weak_ptr< _Tp >::operator=(), std::tr1::shared_ptr< _Tp >::operator=(), std::tr1::shared_ptr< _Tp >::shared_ptr(), std::tr1::shared_ptr< _Tp >::swap(), std::tr1::shared_ptr< _Tp >::unique(), and std::tr1::shared_ptr< _Tp >::use_count().