CVC3
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends

CVC3::ExprSymbol Class Reference

#include <expr_value.h>

Inherits CVC3::ExprValue.

Collaboration diagram for CVC3::ExprSymbol:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Protected Member Functions

Private Member Functions

Private Attributes

Friends


Detailed Description

Definition at line 821 of file expr_value.h.


Constructor & Destructor Documentation

CVC3::ExprSymbol::ExprSymbol ( ExprManager em,
int  kind,
const std::string &  name,
ExprIndex  idx = 0 
) [inline]

Definition at line 842 of file expr_value.h.

virtual CVC3::ExprSymbol::~ExprSymbol ( ) [inline, virtual]

Definition at line 846 of file expr_value.h.


Member Function Documentation

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.

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.

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::ExprManager::getMM().

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


Friends And Related Function Documentation

friend class Expr [friend]

Reimplemented from CVC3::ExprValue.

Definition at line 822 of file expr_value.h.

friend class ExprManager [friend]

Reimplemented from CVC3::ExprValue.

Definition at line 823 of file expr_value.h.


Member Data Documentation

std::string CVC3::ExprSymbol::d_name [private]

Definition at line 825 of file expr_value.h.

Referenced by computeHash(), and getName().


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