blocxx
|
#include <COWIntrusiveCountableBase.hpp>
Protected Member Functions | |
COWIntrusiveCountableBase (COWIntrusiveCountableBase const &) | |
Copy constructor. | |
COWIntrusiveCountableBase & | operator= (COWIntrusiveCountableBase const &x) |
Assignment operator. | |
COWIntrusiveCountableBase () | |
Default constructor. | |
virtual | ~COWIntrusiveCountableBase () |
Destroy this COWIntrusiveCountableBase object. | |
RefCount | getRefCount () const |
Private Attributes | |
RefCount | m_usecount |
Friends | |
void | COWIntrusiveReferenceAddRef (COWIntrusiveCountableBase *p) |
Increment the reference count for a COWIntrusiveCountableBase object. | |
void | COWIntrusiveReferenceRelease (COWIntrusiveCountableBase *p) |
Release a reference on a COWIntrusiveCountableBase. | |
bool | COWIntrusiveReferenceUnique (COWIntrusiveCountableBase *p) |
Determine of a COWIntrusiveCountableBase only has one reference. | |
template<typename T > | |
T * | COWIntrusiveReferenceClone (T *p) |
Have a COWIntrusiveCountableBase object create a clone of itself. |
Definition at line 78 of file COWIntrusiveCountableBase.hpp.
BLOCXX_NAMESPACE::COWIntrusiveCountableBase::COWIntrusiveCountableBase | ( | COWIntrusiveCountableBase const & | ) | [inline, protected] |
Copy constructor.
Definition at line 87 of file COWIntrusiveCountableBase.hpp.
BLOCXX_NAMESPACE::COWIntrusiveCountableBase::COWIntrusiveCountableBase | ( | ) | [inline, protected] |
Default constructor.
Definition at line 105 of file COWIntrusiveCountableBase.hpp.
usr src packages BUILD blocxx src blocxx COWIntrusiveCountableBase cpp BLOCXX_NAMESPACE::COWIntrusiveCountableBase::~COWIntrusiveCountableBase | ( | ) | [protected, virtual] |
Destroy this COWIntrusiveCountableBase object.
Definition at line 45 of file COWIntrusiveCountableBase.cpp.
RefCount BLOCXX_NAMESPACE::COWIntrusiveCountableBase::getRefCount | ( | ) | const [inline, protected] |
Definition at line 117 of file COWIntrusiveCountableBase.hpp.
COWIntrusiveCountableBase& BLOCXX_NAMESPACE::COWIntrusiveCountableBase::operator= | ( | COWIntrusiveCountableBase const & | x | ) | [inline, protected] |
Assignment operator.
This method does NOTHING.
x | The COWIntrusiveCountableBase to assign to this one. |
Definition at line 96 of file COWIntrusiveCountableBase.hpp.
void COWIntrusiveReferenceAddRef | ( | COWIntrusiveCountableBase * | p | ) | [friend] |
Increment the reference count for a COWIntrusiveCountableBase object.
p | The COWIntrusiveCountableBase to increment the reference count for. |
Definition at line 128 of file COWIntrusiveCountableBase.hpp.
T* COWIntrusiveReferenceClone | ( | T * | p | ) | [friend] |
Have a COWIntrusiveCountableBase object create a clone of itself.
p | The COWIntrusiveCountableBase object to clone. |
void COWIntrusiveReferenceRelease | ( | COWIntrusiveCountableBase * | p | ) | [friend] |
Release a reference on a COWIntrusiveCountableBase.
If the reference count is zero after the release, the COWIntrusiveCountableBase object will be deleted.
p | The COWIntrusiveCountableBase object to release the reference for. |
Definition at line 140 of file COWIntrusiveCountableBase.hpp.
bool COWIntrusiveReferenceUnique | ( | COWIntrusiveCountableBase * | p | ) | [friend] |
Determine of a COWIntrusiveCountableBase only has one reference.
p | The COWIntrusiveCountableBase object to check for a single reference. |
Definition at line 152 of file COWIntrusiveCountableBase.hpp.
Definition at line 81 of file COWIntrusiveCountableBase.hpp.
Referenced by BLOCXX_NAMESPACE::COWIntrusiveReferenceAddRef(), BLOCXX_NAMESPACE::COWIntrusiveReferenceRelease(), and BLOCXX_NAMESPACE::COWIntrusiveReferenceUnique().