BLOCXX_NAMESPACE::COWIntrusiveCountableBase Class Reference

#include <COWIntrusiveCountableBase.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::COWIntrusiveCountableBase:

BLOCXX_NAMESPACE::String::ByteBuf List of all members.

Protected Member Functions

 COWIntrusiveCountableBase (COWIntrusiveCountableBase const &)
 Copy constructor.
 COWIntrusiveCountableBase ()
 Default constructor.
COWIntrusiveCountableBaseoperator= (COWIntrusiveCountableBase const &x)
 Assignment operator.
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.

Detailed Description

Definition at line 77 of file COWIntrusiveCountableBase.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::COWIntrusiveCountableBase::COWIntrusiveCountableBase COWIntrusiveCountableBase const &   )  [inline, protected]
 

Copy constructor.

Definition at line 86 of file COWIntrusiveCountableBase.hpp.

BLOCXX_NAMESPACE::COWIntrusiveCountableBase::COWIntrusiveCountableBase  )  [inline, protected]
 

Default constructor.

Definition at line 94 of file COWIntrusiveCountableBase.hpp.

BLOCXX_NAMESPACE::COWIntrusiveCountableBase::~COWIntrusiveCountableBase  )  [protected, virtual]
 

Destroy this COWIntrusiveCountableBase object.

Definition at line 43 of file COWIntrusiveCountableBase.cpp.


Member Function Documentation

RefCount BLOCXX_NAMESPACE::COWIntrusiveCountableBase::getRefCount  )  const [inline, protected]
 

Returns:
The RefCount object for this object.

Definition at line 117 of file COWIntrusiveCountableBase.hpp.

COWIntrusiveCountableBase& BLOCXX_NAMESPACE::COWIntrusiveCountableBase::operator= COWIntrusiveCountableBase const &  x  )  [inline, protected]
 

Assignment operator.

This method does NOTHING.

Parameters:
x The COWIntrusiveCountableBase to assign to this one.
Returns:
A reference to this COWIntrusiveCountableBase object.

Definition at line 103 of file COWIntrusiveCountableBase.hpp.


Friends And Related Function Documentation

void COWIntrusiveReferenceAddRef COWIntrusiveCountableBase p  )  [friend]
 

Increment the reference count for a COWIntrusiveCountableBase object.

Parameters:
p The COWIntrusiveCountableBase to increment the reference count for.

Definition at line 129 of file COWIntrusiveCountableBase.hpp.

template<typename T>
T* COWIntrusiveReferenceClone T *  p  )  [friend]
 

Have a COWIntrusiveCountableBase object create a clone of itself.

Parameters:
p The COWIntrusiveCountableBase object to clone.
Returns:
A pointer to the new COWIntrusiveCountableBase object.

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.

Parameters:
p The COWIntrusiveCountableBase object to release the reference for.

Definition at line 141 of file COWIntrusiveCountableBase.hpp.

bool COWIntrusiveReferenceUnique COWIntrusiveCountableBase p  )  [friend]
 

Determine of a COWIntrusiveCountableBase only has one reference.

Parameters:
p The COWIntrusiveCountableBase object to check for a single reference.
Returns:
true if is COWIntrusiveCountableBase has only one reference.

Definition at line 153 of file COWIntrusiveCountableBase.hpp.


Member Data Documentation

RefCount BLOCXX_NAMESPACE::COWIntrusiveCountableBase::m_usecount [private]
 

Definition at line 80 of file COWIntrusiveCountableBase.hpp.

Referenced by BLOCXX_NAMESPACE::COWIntrusiveReferenceAddRef(), BLOCXX_NAMESPACE::COWIntrusiveReferenceRelease(), and BLOCXX_NAMESPACE::COWIntrusiveReferenceUnique().


The documentation for this class was generated from the following files:
Generated on Fri Jun 16 15:39:10 2006 for blocxx by  doxygen 1.4.6