#include <expr_value.h>
Inheritance diagram for CVC3::ExprSymbol:
Definition at line 821 of file expr_value.h.
CVC3::ExprSymbol::ExprSymbol | ( | ExprManager * | em, | |
int | kind, | |||
const std::string & | name, | |||
ExprIndex | idx = 0 | |||
) | [inline] |
virtual CVC3::ExprSymbol::~ExprSymbol | ( | ) | [inline, virtual] |
Definition at line 846 of file expr_value.h.
virtual const std::string& CVC3::ExprSymbol::getName | ( | ) | const [inline, private, virtual] |
Returns the string name of UCONST and BOUND_VAR expr's.
Reimplemented from CVC3::ExprValue.
Definition at line 827 of file expr_value.h.
References d_name.
Referenced by operator==().
virtual size_t CVC3::ExprSymbol::getMMIndex | ( | ) | const [inline, private, virtual] |
Get unique memory manager ID.
Reimplemented from CVC3::ExprValue.
Definition at line 830 of file expr_value.h.
References CVC3::EXPR_SYMBOL.
Referenced by copy(), and operator==().
virtual size_t CVC3::ExprSymbol::computeHash | ( | ) | const [inline, protected, virtual] |
Non-caching hash function which actually computes the hash.
This is the method that all subclasses should implement
Reimplemented from CVC3::ExprValue.
Definition at line 833 of file expr_value.h.
References CVC3::ExprValue::d_kind, d_name, PRIME, CVC3::ExprValue::s_charHash, and CVC3::ExprValue::s_intHash.
ExprValue * CVC3::ExprSymbol::copy | ( | ExprManager * | em, | |
ExprIndex | idx = 0 | |||
) | const [protected, virtual] |
Make a clean copy of itself using the given memory manager.
Reimplemented from CVC3::ExprValue.
Definition at line 205 of file expr_value.cpp.
References CVC3::ExprValue::d_kind, d_name, ExprSymbol(), CVC3::ExprManager::getMM(), and getMMIndex().
bool CVC3::ExprSymbol::isSymbol | ( | ) | const [inline, protected, virtual] |
Special named symbol.
Reimplemented from CVC3::ExprValue.
Definition at line 838 of file expr_value.h.
bool CVC3::ExprSymbol::operator== | ( | const ExprValue & | ev2 | ) | const [virtual] |
Equality between any two ExprValue objects (including subclasses).
Reimplemented from CVC3::ExprValue.
Definition at line 198 of file expr_value.cpp.
References CVC3::ExprValue::getKind(), CVC3::ExprValue::getMMIndex(), getMMIndex(), CVC3::ExprValue::getName(), and getName().
void* CVC3::ExprSymbol::operator new | ( | size_t | size, | |
MemoryManager * | mm | |||
) | [inline] |
Overload operator new.
Reimplemented from CVC3::ExprValue.
Definition at line 850 of file expr_value.h.
References CVC3::MemoryManager::newData().
void CVC3::ExprSymbol::operator delete | ( | void * | pMem, | |
MemoryManager * | mm | |||
) | [inline] |
Reimplemented from CVC3::ExprValue.
Definition at line 853 of file expr_value.h.
References CVC3::MemoryManager::deleteData().
void CVC3::ExprSymbol::operator delete | ( | void * | ) | [inline] |
Overload operator delete.
Reimplemented from CVC3::ExprValue.
Definition at line 856 of file expr_value.h.
friend class Expr [friend] |
friend class ExprManager [friend] |
std::string CVC3::ExprSymbol::d_name [private] |