#include <variable.h>
Collaboration diagram for CVC3::VariableManager:
Definition at line 363 of file variable.h.
typedef std::hash_set<VariableValue*, HashLV, EqLV> CVC3::VariableManager::VariableValueSet [private] |
Definition at line 393 of file variable.h.
CVC3::VariableManager::VariableManager | ( | ContextManager * | cm, | |
SearchEngineRules * | rules, | |||
const std::string & | mmFlag | |||
) |
Definition at line 368 of file variable.cpp.
References d_cm, d_mm, d_notifyObj, and CVC3::ContextManager::getCurrentContext().
CVC3::VariableManager::~VariableManager | ( | ) |
Definition at line 380 of file variable.cpp.
References Hash::hash_set< _Key, _HashFcn, _EqualKey >::begin(), Hash::hash_set< _Key, _HashFcn, _EqualKey >::clear(), d_disableGC, d_mm, d_notifyObj, d_varSet, and Hash::hash_set< _Key, _HashFcn, _EqualKey >::end().
VariableValue * CVC3::VariableManager::newVariableValue | ( | const Expr & | e | ) | [private] |
Definition at line 357 of file variable.cpp.
References d_mm, d_varSet, Hash::hash_set< _Key, _HashFcn, _EqualKey >::end(), Hash::hash_set< _Key, _HashFcn, _EqualKey >::find(), Hash::hash_set< _Key, _HashFcn, _EqualKey >::insert(), and VariableValue.
void CVC3::VariableManager::gc | ( | VariableValue * | v | ) |
Garbage collect VariableValue pointer.
Definition at line 400 of file variable.cpp.
References d_deleted, d_disableGC, d_mm, d_postponeGC, d_varSet, CVC3::MemoryManager::deleteData(), and Hash::hash_set< _Key, _HashFcn, _EqualKey >::erase().
Referenced by CVC3::Variable::operator=(), and CVC3::Variable::~Variable().
void CVC3::VariableManager::postponeGC | ( | ) | [inline] |
void CVC3::VariableManager::resumeGC | ( | ) |
Resume garbage collection.
Definition at line 413 of file variable.cpp.
References d_deleted, d_mm, d_postponeGC, and CVC3::MemoryManager::deleteData().
ContextManager* CVC3::VariableManager::getCM | ( | ) | const [inline] |
Definition at line 413 of file variable.h.
Referenced by CVC3::VariableValue::setAssumpThm(), and CVC3::VariableValue::setValue().
SearchEngineRules* CVC3::VariableManager::getRules | ( | ) | const [inline] |
friend class Variable [friend] |
Definition at line 364 of file variable.h.
friend class VariableValue [friend] |
ContextManager* CVC3::VariableManager::d_cm [private] |
MemoryManager* CVC3::VariableManager::d_mm [private] |
Definition at line 368 of file variable.h.
Referenced by gc(), newVariableValue(), resumeGC(), VariableManager(), and ~VariableManager().
SearchEngineRules* CVC3::VariableManager::d_rules [private] |
Definition at line 369 of file variable.h.
bool CVC3::VariableManager::d_disableGC [private] |
Disable the garbage collection.
Normally, it's set in the destructor, so that we can delete all remaining variables without GC getting in the way
Definition at line 375 of file variable.h.
Referenced by gc(), and ~VariableManager().
bool CVC3::VariableManager::d_postponeGC [private] |
Postpone garbage collection.
Definition at line 377 of file variable.h.
Referenced by gc(), and resumeGC().
std::vector<VariableValue*> CVC3::VariableManager::d_deleted [private] |
Vector of variables to be deleted (postponed during pop()).
Definition at line 379 of file variable.h.
Referenced by gc(), and resumeGC().
Definition at line 394 of file variable.h.
Referenced by gc(), newVariableValue(), and ~VariableManager().