CVC3
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CVC3::CDMap< Key, Data, HashFcn > Class Template Reference

#include <cdmap.h>

Inherits CVC3::ContextObj.

Collaboration diagram for CVC3::CDMap< Key, Data, HashFcn >:
Collaboration graph

Classes

class  iterator
 
class  orderedIterator
 

Public Types

typedef CDOmap< Key, Data,
HashFcn > & 
ElementReference
 

Public Member Functions

 CDMap (Context *context, int scope=-1)
 
 ~CDMap ()
 
size_t size () const
 
size_t count (const Key &k) const
 
CDOmap< Key, Data, HashFcn > & operator[] (const Key &k)
 
void insert (const Key &k, const Data &d, int scope=-1)
 
iterator begin () const
 
iterator end () const
 
orderedIterator orderedBegin () const
 
orderedIterator orderedEnd () const
 
iterator find (const Key &k) const
 
- Public Member Functions inherited from CVC3::ContextObj
 ContextObj (Context *context)
 Create a new ContextObj.
 
virtual ~ContextObj ()
 
int level () const
 
bool isCurrent (int scope=-1) const
 
void makeCurrent (int scope=-1)
 
void * operator new (size_t size, MemoryManager *mm)
 
void operator delete (void *pMem, MemoryManager *mm)
 
void * operator new (size_t size, bool b)
 
void operator delete (void *pMem, bool b)
 
void operator delete (void *)
 

Private Member Functions

virtual ContextObjmakeCopy (ContextMemoryManager *cmm)
 Make a copy of the current object so it can be restored to its current state.
 
virtual void restoreData (ContextObj *data)
 Restore the current object from the given data.
 
void emptyTrash ()
 
virtual void setNull (void)
 Set the current object to be invalid.
 

Private Attributes

std::hash_map< Key, CDOmap
< Key, Data, HashFcn >
*, HashFcn > 
d_map
 
std::vector< CDOmap< Key, Data,
HashFcn > * > 
d_trash
 
CDOmap< Key, Data, HashFcn > * d_first
 
Contextd_context
 

Friends

class CDOmap< Key, Data, HashFcn >
 

Additional Inherited Members

- Protected Member Functions inherited from CVC3::ContextObj
 ContextObj (const ContextObj &co)
 Copy constructor (defined mainly for debugging purposes)
 
ContextObjoperator= (const ContextObj &co)
 Assignment operator (defined mainly for debugging purposes)
 
const ContextObjgetRestore ()
 
ContextMemoryManagergetCMM ()
 Return our name (for debugging)
 

Detailed Description

template<class Key, class Data, class HashFcn>
class CVC3::CDMap< Key, Data, HashFcn >

Definition at line 128 of file cdmap.h.

Member Typedef Documentation

template<class Key, class Data, class HashFcn>
typedef CDOmap<Key, Data, HashFcn>& CVC3::CDMap< Key, Data, HashFcn >::ElementReference

Definition at line 174 of file cdmap.h.

Constructor & Destructor Documentation

template<class Key, class Data, class HashFcn>
CVC3::CDMap< Key, Data, HashFcn >::CDMap ( Context context,
int  scope = -1 
)
inline

Definition at line 165 of file cdmap.h.

template<class Key, class Data, class HashFcn>
CVC3::CDMap< Key, Data, HashFcn >::~CDMap ( )
inline

Definition at line 169 of file cdmap.h.

Member Function Documentation

template<class Key, class Data, class HashFcn>
virtual ContextObj* CVC3::CDMap< Key, Data, HashFcn >::makeCopy ( ContextMemoryManager cmm)
inlineprivatevirtual

Make a copy of the current object so it can be restored to its current state.

Implements CVC3::ContextObj.

Definition at line 138 of file cdmap.h.

template<class Key, class Data, class HashFcn>
virtual void CVC3::CDMap< Key, Data, HashFcn >::restoreData ( ContextObj data)
inlineprivatevirtual

Restore the current object from the given data.

Reimplemented from CVC3::ContextObj.

Definition at line 141 of file cdmap.h.

template<class Key, class Data, class HashFcn>
void CVC3::CDMap< Key, Data, HashFcn >::emptyTrash ( )
inlineprivate
template<class Key, class Data, class HashFcn>
virtual void CVC3::CDMap< Key, Data, HashFcn >::setNull ( void  )
inlineprivatevirtual

Set the current object to be invalid.

Implements CVC3::ContextObj.

Definition at line 153 of file cdmap.h.

Referenced by CVC3::CDMap< Expr, Expr, HashFcn >::~CDMap().

template<class Key, class Data, class HashFcn>
size_t CVC3::CDMap< Key, Data, HashFcn >::size ( ) const
inline
template<class Key, class Data, class HashFcn>
size_t CVC3::CDMap< Key, Data, HashFcn >::count ( const Key &  k) const
inline
template<class Key, class Data, class HashFcn>
CDOmap<Key, Data, HashFcn>& CVC3::CDMap< Key, Data, HashFcn >::operator[] ( const Key &  k)
inline

Definition at line 177 of file cdmap.h.

template<class Key, class Data, class HashFcn>
void CVC3::CDMap< Key, Data, HashFcn >::insert ( const Key &  k,
const Data &  d,
int  scope = -1 
)
inline
template<class Key, class Data, class HashFcn>
iterator CVC3::CDMap< Key, Data, HashFcn >::begin ( ) const
inline
template<class Key, class Data, class HashFcn>
iterator CVC3::CDMap< Key, Data, HashFcn >::end ( ) const
inline

Definition at line 258 of file cdmap.h.

Referenced by CVC3::TheoryDatatype::addSharedTerm(), CVC3::TheoryArithOld::addSharedTerm(), CVC3::TheoryArithOld::addToBuffer(), CVC3::SearchImplBase::applyCNFRules(), CVC3::TheoryDatatype::assertFact(), CVC3::TheoryBitvector::bitBlastTerm(), CVC3::TheoryArithNew::boundsAsString(), CVC3::TheoryDatatype::canCollapse(), CVC3::TheoryDatatypeLazy::checkSat(), CVC3::TheoryUF::checkSat(), CVC3::TheoryArray::checkSat(), CVC3::TheoryDatatype::checkSat(), CVC3::TheoryArithOld::checkSat(), CVC3::SearchEngineFast::checkValidMain(), CVC3::TheoryQuant::combineOldNewTrigs(), CVC3::TheoryArith3::currentMaxCoefficient(), CVC3::TheoryQuant::enqueueInst(), CVC3::SearchImplBase::findInCNFCache(), CVC3::TheoryArithNew::getBeta(), CVC3::SearchSat::getExplanation(), CVC3::TheoryArithNew::getLowerBound(), CVC3::TheoryArithOld::getLowerBound(), CVC3::TheoryArithNew::getLowerBoundThm(), CVC3::TheoryArithNew::getUpperBound(), CVC3::TheoryArithOld::getUpperBound(), CVC3::TheoryArithNew::getUpperBoundThm(), CVC3::TheoryCore::incomplete(), CVC3::TheoryDatatypeLazy::initializeLabels(), CVC3::TheoryDatatype::initializeLabels(), CVC3::TheoryArithOld::isConstrainedAbove(), CVC3::TheoryArithOld::isConstrainedBelow(), CVC3::TheoryArithOld::isUnconstrained(), CVC3::TheoryQuant::matchListOld(), CVC3::TheoryDatatypeLazy::mergeLabels(), CVC3::TheoryDatatype::mergeLabels(), CVC3::SearchImplBase::newUserAssumption(), CVC3::TheoryArithNew::refineCounterExample(), CVC3::TheoryArith3::refineCounterExample(), CVC3::TheoryArithOld::refineCounterExample(), CVC3::TheoryArithOld::registerAtom(), CVC3::SearchImplBase::replaceITE(), CVC3::TheoryDatatypeLazy::setup(), CVC3::TheoryDatatype::setup(), CVC3::CommonTheoremProducer::skolemize(), CVC3::TheoryQuant::synNewInst(), CVC3::TheoryArray::update(), CVC3::TheoryDatatype::update(), CVC3::TheoryBitvector::update(), CVC3::TheoryArithOld::update(), CVC3::TheoryArith3::updateStats(), and CVC3::CommonTheoremProducer::varIntroSkolem().

template<class Key, class Data, class HashFcn>
orderedIterator CVC3::CDMap< Key, Data, HashFcn >::orderedBegin ( ) const
inline
template<class Key, class Data, class HashFcn>
orderedIterator CVC3::CDMap< Key, Data, HashFcn >::orderedEnd ( ) const
inline
template<class Key, class Data, class HashFcn>
iterator CVC3::CDMap< Key, Data, HashFcn >::find ( const Key &  k) const
inline

Definition at line 303 of file cdmap.h.

Referenced by CVC3::TheoryDatatype::addSharedTerm(), CVC3::TheoryArithOld::addSharedTerm(), CVC3::TheoryArithOld::addToBuffer(), CVC3::SearchImplBase::applyCNFRules(), CVC3::TheoryDatatype::assertFact(), CVC3::TheoryBitvector::bitBlastTerm(), CVC3::TheoryDatatype::canCollapse(), CVC3::TheoryDatatypeLazy::checkSat(), CVC3::TheoryUF::checkSat(), CVC3::TheoryArray::checkSat(), CVC3::TheoryDatatype::checkSat(), CVC3::TheoryArithOld::checkSat(), CVC3::TheoryQuant::combineOldNewTrigs(), CVC3::TheoryArith3::currentMaxCoefficient(), CVC3::TheoryQuant::enqueueInst(), CVC3::SearchImplBase::findInCNFCache(), CVC3::TheoryArithNew::getBeta(), CVC3::SearchSat::getExplanation(), CVC3::TheoryArithNew::getLowerBound(), CVC3::TheoryArithOld::getLowerBound(), CVC3::TheoryArithNew::getLowerBoundThm(), CVC3::TheoryArithNew::getUpperBound(), CVC3::TheoryArithOld::getUpperBound(), CVC3::TheoryArithNew::getUpperBoundThm(), CVC3::TheoryDatatypeLazy::initializeLabels(), CVC3::TheoryDatatype::initializeLabels(), CVC3::TheoryArithOld::isConstrainedAbove(), CVC3::TheoryArithOld::isConstrainedBelow(), CVC3::TheoryArithOld::isUnconstrained(), CVC3::TheoryDatatypeLazy::mergeLabels(), CVC3::TheoryDatatype::mergeLabels(), CVC3::SearchImplBase::newUserAssumption(), CVC3::TheoryArithOld::registerAtom(), CVC3::SearchImplBase::replaceITE(), CVC3::TheoryDatatypeLazy::setup(), CVC3::TheoryDatatype::setup(), CVC3::CommonTheoremProducer::skolemize(), CVC3::TheoryQuant::synNewInst(), CVC3::TheoryArray::update(), CVC3::TheoryDatatype::update(), CVC3::TheoryBitvector::update(), CVC3::TheoryArithOld::update(), CVC3::TheoryArith3::updateStats(), CVC3::TheoryArith3::updateSubsumptionDB(), CVC3::TheoryArithOld::updateSubsumptionDB(), and CVC3::CommonTheoremProducer::varIntroSkolem().

Friends And Related Function Documentation

template<class Key, class Data, class HashFcn>
friend class CDOmap< Key, Data, HashFcn >
friend

Definition at line 129 of file cdmap.h.

Member Data Documentation

template<class Key, class Data, class HashFcn>
std::hash_map<Key,CDOmap<Key, Data, HashFcn>*,HashFcn> CVC3::CDMap< Key, Data, HashFcn >::d_map
private
template<class Key, class Data, class HashFcn>
std::vector<CDOmap<Key, Data, HashFcn>*> CVC3::CDMap< Key, Data, HashFcn >::d_trash
private

Definition at line 133 of file cdmap.h.

Referenced by CVC3::CDMap< Expr, Expr, HashFcn >::emptyTrash().

template<class Key, class Data, class HashFcn>
CDOmap<Key, Data, HashFcn>* CVC3::CDMap< Key, Data, HashFcn >::d_first
private

Definition at line 134 of file cdmap.h.

Referenced by CVC3::CDMap< Expr, Expr, HashFcn >::orderedBegin().

template<class Key, class Data, class HashFcn>
Context* CVC3::CDMap< Key, Data, HashFcn >::d_context
private

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