Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

InternalRefNodeBase_ThreadSave Class Reference

This is the base class for the internally used (unique resource) class. This version is thread-safe. More...

#include <refnode.h>

Inheritance diagram for InternalRefNodeBase_ThreadSave:

Inheritance graph
[legend]
Collaboration diagram for InternalRefNodeBase_ThreadSave:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 InternalRefNodeBase_ThreadSave ()
 Constructor sets reference counter to zero.

virtual ~InternalRefNodeBase_ThreadSave ()

Protected Member Functions

void _InternalRefNodeBase_aqref ()
void _InternalRefNodeBase_deref ()

Private Member Functions

void _failCritAssert ()
 InternalRefNodeBase_ThreadSave (const InternalRefNodeBase_ThreadSave &)
 
Attention:
Do not use (hence private):


InternalRefNodeBase_ThreadSaveoperator= (const InternalRefNodeBase_ThreadSave &)

Private Attributes

AtomicInt refcnt

Friends

class RefNode

Detailed Description

This is the base class for the internally used (unique resource) class. This version is thread-safe.

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
This is a thread-safe version since the reference counter is protected against simultanious modification.

Definition at line 228 of file refnode.h.


Constructor & Destructor Documentation

InternalRefNodeBase_ThreadSave::InternalRefNodeBase_ThreadSave const InternalRefNodeBase_ThreadSave  )  [private]
 

Attention:
Do not use (hence private):

InternalRefNodeBase_ThreadSave::InternalRefNodeBase_ThreadSave  )  [inline]
 

Constructor sets reference counter to zero.

Definition at line 254 of file refnode.h.

virtual InternalRefNodeBase_ThreadSave::~InternalRefNodeBase_ThreadSave  )  [inline, virtual]
 

Destructor will fail with an assertion if the reference count is not zero.

Definition at line 257 of file refnode.h.


Member Function Documentation

void InternalRefNodeBase_ThreadSave::_failCritAssert  )  [private]
 

For internal use only.

Failed assertion. Internal bug. Terminate.

Definition at line 26 of file refnode.cc.

void InternalRefNodeBase_ThreadSave::_InternalRefNodeBase_aqref  )  [inline, protected]
 

For internal use only.

Aquire reference / dereference:
Used internally by RefNode<>.
May be used by derived classes if you know what you are doing!

Definition at line 240 of file refnode.h.

Referenced by _InternalSourceFileNode::_AddChild().

void InternalRefNodeBase_ThreadSave::_InternalRefNodeBase_deref  )  [inline, protected]
 

Definition at line 242 of file refnode.h.

Referenced by _InternalSourceFileNode::_DelChild().

InternalRefNodeBase_ThreadSave& InternalRefNodeBase_ThreadSave::operator= const InternalRefNodeBase_ThreadSave  )  [private]
 


Friends And Related Function Documentation

friend class RefNode [friend]
 

Definition at line 230 of file refnode.h.


Member Data Documentation

AtomicInt InternalRefNodeBase_ThreadSave::refcnt [private]
 

Definition at line 232 of file refnode.h.


The documentation for this class was generated from the following files:
Generated on Sat Feb 19 22:35:28 2005 for Ray by doxygen 1.3.5