CVC3  2.4.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CVC3::ContextObjChain Class Reference

#include <context.h>

Public Member Functions

 ~ContextObjChain ()
 Destructor. More...
 
void * operator new (size_t size, MemoryManager *mm)
 
void operator delete (void *pMem, MemoryManager *mm)
 
void operator delete (void *)
 
void * operator new (size_t size, bool b)
 
void operator delete (void *pMem, bool b)
 

Private Member Functions

 ContextObjChain (ContextObj *data, ContextObj *master, ContextObjChain *restore)
 Private constructor (only friends can use it) More...
 
ContextObjChainrestore (void)
 Restore from d_data to d_master. More...
 

Private Attributes

ContextObjChaind_restoreChainNext
 Next link in chain. More...
 
ContextObjChain ** d_restoreChainPrev
 Pointer to the pointer of the previous object which points to us. This makes a doubly-linked list for easy element deletion. More...
 
ContextObjChaind_restore
 Pointer to the previous copy which belongs to the same master. More...
 
ContextObjd_data
 Pointer to copy of master to be restored when restore() is called. More...
 
ContextObjd_master
 Pointer to the master object. More...
 

Friends

class Scope
 
class ContextObj
 
class CDFlags
 

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 
)
inlineprivate

Private constructor (only friends can use it)

Definition at line 156 of file context.h.

Referenced by CVC3::ContextObj::ContextObj().

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 DebugAssert.

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

Definition at line 168 of file context.h.

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

Definition at line 171 of file context.h.

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 CVC3::ContextObj::~ContextObj().

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(), and CVC3::ContextObj::~ContextObj().

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::CDFlags::update(), and CVC3::ContextObj::~ContextObj().

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().

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 CVC3::ContextObj::~ContextObj().


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