CVC3  2.4.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CVC3::CDOmap< Key, Data, HashFcn > Class Template Reference

#include <cdmap.h>

Inheritance diagram for CVC3::CDOmap< Key, Data, HashFcn >:
CVC3::ContextObj

Public Member Functions

 CDOmap (Context *context, CDMap< Key, Data, HashFcn > *cdmap, const Key &key, const Data &data, int scope=-1)
 
 ~CDOmap ()
 
void set (const Data &data, int scope=-1)
 
const Key & getKey () const
 
const Data & get () const
 
 operator Data ()
 
CDOmap< Key, Data, HashFcn > & operator= (const Data &data)
 
CDOmap< Key, Data, HashFcn > * next () const
 
- Public Member Functions inherited from CVC3::ContextObj
 ContextObj (Context *context)
 Create a new ContextObj. More...
 
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. More...
 
virtual void restoreData (ContextObj *data)
 Restore the current object from the given data. More...
 
virtual void setNull (void)
 Set the current object to be invalid. More...
 

Private Attributes

Key d_key
 
Data d_data
 
bool d_inMap
 
CDMap< Key, Data, HashFcn > * d_cdmap
 
CDOmap< Key, Data, HashFcn > * d_prev
 
CDOmap< Key, Data, HashFcn > * d_next
 

Additional Inherited Members

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

Detailed Description

template<class Key, class Data, class HashFcn = std::hash<Key>>
class CVC3::CDOmap< Key, Data, HashFcn >

Definition at line 49 of file cdmap.h.

Constructor & Destructor Documentation

template<class Key, class Data, class HashFcn = std::hash<Key>>
CVC3::CDOmap< Key, Data, HashFcn >::CDOmap ( Context context,
CDMap< Key, Data, HashFcn > *  cdmap,
const Key &  key,
const Data &  data,
int  scope = -1 
)
inline

Definition at line 86 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
CVC3::CDOmap< Key, Data, HashFcn >::~CDOmap ( )
inline

Definition at line 101 of file cdmap.h.

Member Function Documentation

template<class Key, class Data, class HashFcn = std::hash<Key>>
virtual ContextObj* CVC3::CDOmap< 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 59 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
virtual void CVC3::CDOmap< Key, Data, HashFcn >::restoreData ( ContextObj data)
inlineprivatevirtual

Restore the current object from the given data.

Reimplemented from CVC3::ContextObj.

Definition at line 62 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
virtual void CVC3::CDOmap< Key, Data, HashFcn >::setNull ( void  )
inlineprivatevirtual

Set the current object to be invalid.

Implements CVC3::ContextObj.

Definition at line 67 of file cdmap.h.

Referenced by CVC3::CDOmap< CVC3::Expr, CVC3::TheoryArithNew::BoundInfo, std::hash< CVC3::Expr > >::restoreData().

template<class Key, class Data, class HashFcn = std::hash<Key>>
void CVC3::CDOmap< Key, Data, HashFcn >::set ( const Data &  data,
int  scope = -1 
)
inline
template<class Key, class Data, class HashFcn = std::hash<Key>>
const Key& CVC3::CDOmap< Key, Data, HashFcn >::getKey ( ) const
inline

Definition at line 105 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
const Data& CVC3::CDOmap< Key, Data, HashFcn >::get ( ) const
inline
template<class Key, class Data, class HashFcn = std::hash<Key>>
CVC3::CDOmap< Key, Data, HashFcn >::operator Data ( )
inline

Definition at line 107 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
CDOmap<Key, Data, HashFcn>& CVC3::CDOmap< Key, Data, HashFcn >::operator= ( const Data &  data)
inline

Definition at line 108 of file cdmap.h.

template<class Key, class Data, class HashFcn = std::hash<Key>>
CDOmap<Key, Data, HashFcn>* CVC3::CDOmap< Key, Data, HashFcn >::next ( ) const
inline

Definition at line 109 of file cdmap.h.

Member Data Documentation

template<class Key, class Data, class HashFcn = std::hash<Key>>
Key CVC3::CDOmap< Key, Data, HashFcn >::d_key
private
template<class Key, class Data, class HashFcn = std::hash<Key>>
Data CVC3::CDOmap< Key, Data, HashFcn >::d_data
private
template<class Key, class Data, class HashFcn = std::hash<Key>>
bool CVC3::CDOmap< Key, Data, HashFcn >::d_inMap
private
template<class Key, class Data, class HashFcn = std::hash<Key>>
CDMap<Key, Data, HashFcn>* CVC3::CDOmap< Key, Data, HashFcn >::d_cdmap
private
template<class Key, class Data, class HashFcn = std::hash<Key>>
CDOmap<Key, Data, HashFcn>* CVC3::CDOmap< Key, Data, HashFcn >::d_prev
private
template<class Key, class Data, class HashFcn = std::hash<Key>>
CDOmap<Key, Data, HashFcn>* CVC3::CDOmap< Key, Data, HashFcn >::d_next
private

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