std::tr1::_Sp_counted_base Class Reference

#include <boost_shared_ptr.h>

Inheritance diagram for std::tr1::_Sp_counted_base:

std::tr1::_Sp_counted_base_impl< _Ptr, _Deleter > List of all members.

Public Member Functions

 _Sp_counted_base ()
virtual ~_Sp_counted_base ()
virtual void dispose ()=0
virtual void destroy ()
virtual void * get_deleter (const std::type_info &)=0
void add_ref_copy ()
void add_ref_lock ()
void release ()
void weak_add_ref ()
void weak_release ()
long use_count () const

Private Member Functions

 _Sp_counted_base (_Sp_counted_base const &)
_Sp_counted_baseoperator= (_Sp_counted_base const &)

Private Attributes

_Atomic_word _M_use_count
_Atomic_word _M_weak_count
__gnu_cxx::mutex_type _M_mutex

Detailed Description

Definition at line 97 of file boost_shared_ptr.h.


Constructor & Destructor Documentation

std::tr1::_Sp_counted_base::_Sp_counted_base (  )  [inline]

Definition at line 101 of file boost_shared_ptr.h.

References __GTHREAD_MUTEX_INIT, and _M_mutex.

virtual std::tr1::_Sp_counted_base::~_Sp_counted_base (  )  [inline, virtual]

Definition at line 113 of file boost_shared_ptr.h.

std::tr1::_Sp_counted_base::_Sp_counted_base ( _Sp_counted_base const &   )  [private]


Member Function Documentation

void std::tr1::_Sp_counted_base::add_ref_copy (  )  [inline]

Definition at line 132 of file boost_shared_ptr.h.

References _M_use_count.

Referenced by std::tr1::shared_count::operator=(), and std::tr1::shared_count::shared_count().

void std::tr1::_Sp_counted_base::add_ref_lock (  )  [inline]

Definition at line 138 of file boost_shared_ptr.h.

References std::tr1::__throw_bad_weak_ptr(), _M_mutex, and _M_use_count.

Referenced by std::tr1::shared_count::shared_count().

virtual void std::tr1::_Sp_counted_base::destroy (  )  [inline, virtual]

Definition at line 123 of file boost_shared_ptr.h.

Referenced by release(), and weak_release().

virtual void std::tr1::_Sp_counted_base::dispose (  )  [pure virtual]

Implemented in std::tr1::_Sp_counted_base_impl< _Ptr, _Deleter >.

Referenced by release().

virtual void* std::tr1::_Sp_counted_base::get_deleter ( const std::type_info  )  [pure virtual]

Implemented in std::tr1::_Sp_counted_base_impl< _Ptr, _Deleter >.

Referenced by std::tr1::shared_count::get_deleter().

_Sp_counted_base& std::tr1::_Sp_counted_base::operator= ( _Sp_counted_base const &   )  [private]

void std::tr1::_Sp_counted_base::release (  )  [inline]

Definition at line 149 of file boost_shared_ptr.h.

References _GLIBCXX_READ_MEM_BARRIER, _GLIBCXX_WRITE_MEM_BARRIER, _M_use_count, _M_weak_count, destroy(), and dispose().

Referenced by std::tr1::shared_count::operator=(), and std::tr1::shared_count::~shared_count().

long std::tr1::_Sp_counted_base::use_count (  )  const [inline]

Definition at line 183 of file boost_shared_ptr.h.

References _M_use_count.

Referenced by std::tr1::weak_count::use_count(), and std::tr1::shared_count::use_count().

void std::tr1::_Sp_counted_base::weak_add_ref (  )  [inline]

Definition at line 164 of file boost_shared_ptr.h.

References _M_weak_count.

Referenced by std::tr1::weak_count::operator=(), and std::tr1::weak_count::weak_count().

void std::tr1::_Sp_counted_base::weak_release (  )  [inline]

Definition at line 170 of file boost_shared_ptr.h.

References _GLIBCXX_READ_MEM_BARRIER, _GLIBCXX_WRITE_MEM_BARRIER, _M_weak_count, and destroy().

Referenced by std::tr1::weak_count::operator=(), and std::tr1::weak_count::~weak_count().


Member Data Documentation

__gnu_cxx::mutex_type std::tr1::_Sp_counted_base::_M_mutex [private]

Definition at line 195 of file boost_shared_ptr.h.

Referenced by _Sp_counted_base(), and add_ref_lock().

_Atomic_word std::tr1::_Sp_counted_base::_M_use_count [private]

Definition at line 193 of file boost_shared_ptr.h.

Referenced by add_ref_copy(), add_ref_lock(), release(), and use_count().

_Atomic_word std::tr1::_Sp_counted_base::_M_weak_count [private]

Definition at line 194 of file boost_shared_ptr.h.

Referenced by release(), weak_add_ref(), and weak_release().


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:59:35 2010 for GNU C++ STL by  doxygen 1.4.7