BLOCXX_NAMESPACE::COWReferenceBase Class Reference

#include <COWReferenceBase.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::COWReferenceBase:

BLOCXX_NAMESPACE::COWReference< T >

List of all members.

Protected Member Functions

 COWReferenceBase ()
 COWReferenceBase (const COWReferenceBase &arg)
void incRef ()
bool decRef ()
bool refCountGreaterThanOne () const
bool getWriteLock ()
void swap (COWReferenceBase &arg)
void useRefCountOf (const COWReferenceBase &arg)

Static Protected Member Functions

static void throwNULLException ()
static void checkNull (const void *p)

Protected Attributes

RefCount *volatile m_pRefCount


Detailed Description

Definition at line 60 of file COWReferenceBase.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::COWReferenceBase::COWReferenceBase (  )  [inline, protected]

Definition at line 63 of file COWReferenceBase.hpp.

BLOCXX_NAMESPACE::COWReferenceBase::COWReferenceBase ( const COWReferenceBase arg  )  [inline, protected]

Definition at line 65 of file COWReferenceBase.hpp.


Member Function Documentation

void BLOCXX_NAMESPACE::COWReferenceBase::incRef (  )  [inline, protected]

Definition at line 70 of file COWReferenceBase.hpp.

bool BLOCXX_NAMESPACE::COWReferenceBase::decRef (  )  [inline, protected]

Reimplemented in BLOCXX_NAMESPACE::COWReference< T >, BLOCXX_NAMESPACE::COWReference< std::vector< T > >, BLOCXX_NAMESPACE::COWReference< V >, BLOCXX_NAMESPACE::COWReference< std::list< T > >, BLOCXX_NAMESPACE::COWReference< container_t >, BLOCXX_NAMESPACE::COWReference< std::vector< Data > >, and BLOCXX_NAMESPACE::COWReference< std::map< Key, T, Compare > >.

Definition at line 75 of file COWReferenceBase.hpp.

Referenced by BLOCXX_NAMESPACE::COWReference< T >::decRef().

bool BLOCXX_NAMESPACE::COWReferenceBase::refCountGreaterThanOne (  )  const [inline, protected]

Definition at line 85 of file COWReferenceBase.hpp.

Referenced by BLOCXX_NAMESPACE::COWReference< T >::getWriteLock().

bool BLOCXX_NAMESPACE::COWReferenceBase::getWriteLock (  )  [inline, protected]

Reimplemented in BLOCXX_NAMESPACE::COWReference< T >, BLOCXX_NAMESPACE::COWReference< std::vector< T > >, BLOCXX_NAMESPACE::COWReference< V >, BLOCXX_NAMESPACE::COWReference< std::list< T > >, BLOCXX_NAMESPACE::COWReference< container_t >, BLOCXX_NAMESPACE::COWReference< std::vector< Data > >, and BLOCXX_NAMESPACE::COWReference< std::map< Key, T, Compare > >.

Definition at line 91 of file COWReferenceBase.hpp.

Referenced by BLOCXX_NAMESPACE::COWReference< T >::getWriteLock().

void BLOCXX_NAMESPACE::COWReferenceBase::swap ( COWReferenceBase arg  )  [inline, protected]

Definition at line 107 of file COWReferenceBase.hpp.

References BLOCXX_NAMESPACE::COWRefSwap(), and m_pRefCount.

void BLOCXX_NAMESPACE::COWReferenceBase::throwNULLException (  )  [static, protected]

Definition at line 54 of file COWReferenceBase.cpp.

References BLOCXX_THROW.

static void BLOCXX_NAMESPACE::COWReferenceBase::checkNull ( const void *  p  )  [inline, static, protected]

Definition at line 114 of file COWReferenceBase.hpp.

References BLOCXX_NAMESPACE::COWIntrusiveReferenceHelpers::throwNULLException().

Referenced by BLOCXX_NAMESPACE::COWReference< T >::operator *(), and BLOCXX_NAMESPACE::COWReference< T >::operator->().

void BLOCXX_NAMESPACE::COWReferenceBase::useRefCountOf ( const COWReferenceBase arg  )  [inline, protected]

Definition at line 123 of file COWReferenceBase.hpp.

References m_pRefCount.

Referenced by BLOCXX_NAMESPACE::COWReference< T >::useRefCountOf().


Member Data Documentation

RefCount* volatile BLOCXX_NAMESPACE::COWReferenceBase::m_pRefCount [protected]

Definition at line 131 of file COWReferenceBase.hpp.

Referenced by swap(), and useRefCountOf().


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 23:42:36 2007 for blocxx by  doxygen 1.5.3