Reference counter mixin. More...
#include <IntrusivePtr.h>
Inherited by ts::config::detail::ValueTableImpl, ts::config::Path::ImplType, ts::Errata::Data, and ts::Errata::Sink.
Public Member Functions | |
IntrusivePtrCounter (IntrusivePtrCounter const &) | |
Copy constructor. | |
IntrusivePtrCounter & | operator= (IntrusivePtrCounter const &) |
Assignment operator. | |
Protected Member Functions | |
IntrusivePtrCounter () | |
Default constructor (0 init counter). | |
Protected Attributes | |
IntrusivePtrBase::Counter | m_intrusive_pointer_reference_count |
Friends | |
class | IntrusivePtrBase |
Reference counter mixin.
To add support for IntrusivePtr
to class T, it should inherit from IntrusivePtrCounter<T>
in order to
IntrusivePtr
In general this class should be inherited publicly. This will provide methods which mimic the Boost.shared_ptr
interface ( unique()
, use_count()
).
If this class is not inherited publically or the destructor is non-public then the host class (T) must declare this class ( reference_counter<T>
) as a friend.
Definition at line 92 of file IntrusivePtr.h.
ts::IntrusivePtrCounter::IntrusivePtrCounter | ( | IntrusivePtrCounter const & | ) | [inline] |
Copy constructor.
Definition at line 369 of file IntrusivePtr.h.
ts::IntrusivePtrCounter::IntrusivePtrCounter | ( | ) | [inline, protected] |
Default constructor (0 init counter).
Definition at line 365 of file IntrusivePtr.h.
IntrusivePtrCounter & ts::IntrusivePtrCounter::operator= | ( | IntrusivePtrCounter const & | ) | [inline] |
Assignment operator.
Definition at line 374 of file IntrusivePtr.h.
friend class IntrusivePtrBase [friend] |
Definition at line 93 of file IntrusivePtr.h.
Definition at line 118 of file IntrusivePtr.h.
Referenced by ts::IntrusivePtrBase::getCounter().