CVC3::ContextObjChain Class Reference
[Context Management]

#include <context.h>

Collaboration diagram for CVC3::ContextObjChain:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Member Functions

Private Attributes

Friends


Detailed Description

Description: An element of a doubly linked list holding a copy of ContextObj in a scope. It is made separate from ContextObj to keep the list pointers valid in all scopes at all times, so that the object can be easily removed from the list when the master ContextObj is destroyed.

Definition at line 133 of file context.h.


Constructor & Destructor Documentation

CVC3::ContextObjChain::ContextObjChain ( ContextObj data,
ContextObj master,
ContextObjChain restore 
) [inline, private]

Private constructor (only friends can use it).

Definition at line 156 of file context.h.

CVC3::ContextObjChain::~ContextObjChain (  )  [inline]

Destructor.

Definition at line 166 of file context.h.


Member Function Documentation

ContextObjChain * ContextObjChain::restore ( void   )  [private]

Restore from d_data to d_master.

Definition at line 111 of file context.cpp.

References d_data, d_master, d_restore, CVC3::ContextObj::d_restore, d_restoreChainNext, CVC3::ContextObj::d_scope, DebugAssert, and CVC3::ContextObj::restoreData().

Referenced by CVC3::Scope::restore().

void* CVC3::ContextObjChain::operator new ( size_t  size,
MemoryManager mm 
) [inline]

Definition at line 168 of file context.h.

References CVC3::MemoryManager::newData().

void CVC3::ContextObjChain::operator delete ( void *  pMem,
MemoryManager mm 
) [inline]

Definition at line 171 of file context.h.

References CVC3::MemoryManager::deleteData().

void CVC3::ContextObjChain::operator delete ( void *   )  [inline]

Definition at line 175 of file context.h.

void* CVC3::ContextObjChain::operator new ( size_t  size,
bool  b 
) [inline]

Definition at line 179 of file context.h.

void CVC3::ContextObjChain::operator delete ( void *  pMem,
bool  b 
) [inline]

Definition at line 182 of file context.h.


Friends And Related Function Documentation

friend class Scope [friend]

Definition at line 134 of file context.h.

friend class ContextObj [friend]

Definition at line 135 of file context.h.

friend class CDFlags [friend]

Definition at line 136 of file context.h.


Member Data Documentation

ContextObjChain* CVC3::ContextObjChain::d_restoreChainNext [private]

Next link in chain.

Definition at line 139 of file context.h.

Referenced by CVC3::Scope::addToChain(), CVC3::Scope::check(), CVC3::Scope::finalize(), and restore().

ContextObjChain** CVC3::ContextObjChain::d_restoreChainPrev [private]

Pointer to the pointer of the previous object which points to us. This makes a doubly-linked list for easy element deletion.

Definition at line 144 of file context.h.

Referenced by CVC3::Scope::addToChain().

ContextObjChain* CVC3::ContextObjChain::d_restore [private]

Pointer to the previous copy which belongs to the same master.

Definition at line 147 of file context.h.

Referenced by CVC3::ContextObj::getRestore(), and restore().

ContextObj* CVC3::ContextObjChain::d_data [private]

Pointer to copy of master to be restored when restore() is called.

Definition at line 150 of file context.h.

Referenced by CVC3::ContextObj::getRestore(), and restore().

ContextObj* CVC3::ContextObjChain::d_master [private]

Pointer to the master object.

Definition at line 153 of file context.h.

Referenced by CVC3::Scope::finalize(), and restore().


The documentation for this class was generated from the following files:
Generated on Wed Nov 18 16:14:38 2009 for CVC3 by  doxygen 1.5.2