blocxx
Protected Member Functions | Private Attributes | Friends

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

Detailed Description

Definition at line 78 of file COWIntrusiveCountableBase.hpp.


Constructor & Destructor Documentation

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.


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:
xThe COWIntrusiveCountableBase to assign to this one.
Returns:
A reference to this COWIntrusiveCountableBase object.

Definition at line 96 of file COWIntrusiveCountableBase.hpp.


Friends And Related Function Documentation

void COWIntrusiveReferenceAddRef ( COWIntrusiveCountableBase p) [friend]

Increment the reference count for a COWIntrusiveCountableBase object.

Parameters:
pThe COWIntrusiveCountableBase to increment the reference count for.

Definition at line 128 of file COWIntrusiveCountableBase.hpp.

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

Have a COWIntrusiveCountableBase object create a clone of itself.

Parameters:
pThe 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:
pThe 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.

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

Definition at line 152 of file COWIntrusiveCountableBase.hpp.


Member Data Documentation


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