Public Member Functions | Protected Member Functions | Protected Attributes | Friends

ts::IntrusivePtrCounter Class Reference

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.
IntrusivePtrCounteroperator= (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

Detailed Description

Reference counter mixin.

To add support for IntrusivePtr to class T, it should inherit from IntrusivePtrCounter<T> in order to

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

IntrusivePtrCounter & ts::IntrusivePtrCounter::operator= ( IntrusivePtrCounter const &   )  [inline]

Assignment operator.

Definition at line 374 of file IntrusivePtr.h.


Friends And Related Function Documentation

friend class IntrusivePtrBase [friend]

Definition at line 93 of file IntrusivePtr.h.


Field Documentation

Definition at line 118 of file IntrusivePtr.h.

Referenced by ts::IntrusivePtrBase::getCounter().


The documentation for this class was generated from the following file: