CVC3
|
#include <expr_value.h>
Inherits CVC3::ExprValue.
Inherited by CVC3::ExprApplyTmp.
Public Member Functions | |
ExprNodeTmp (ExprManager *em, int kind, const std::vector< Expr > &kids) | |
Constructor. | |
virtual | ~ExprNodeTmp () |
Destructor. | |
virtual bool | operator== (const ExprValue &ev2) const |
Compare with another ExprValue. | |
![]() | |
ExprValue (ExprManager *em, int kind, ExprIndex idx=0) | |
Constructor. | |
virtual | ~ExprValue () |
Destructor. | |
int | getKind () const |
Get the kind of the expression. | |
void * | operator new (size_t size, MemoryManager *mm) |
Overload operator new. | |
void | operator delete (void *pMem, MemoryManager *mm) |
void | operator delete (void *) |
Overload operator delete. | |
virtual const ExprValue * | getExprValue () const |
Test whether the expression is a generic subclass. | |
virtual bool | isString () const |
String expression tester. | |
virtual bool | isRational () const |
Rational number expression tester. | |
virtual bool | isVar () const |
Uninterpreted constants. | |
virtual bool | isApply () const |
Application of another expression. | |
virtual bool | isSymbol () const |
Special named symbol. | |
virtual bool | isClosure () const |
A LAMBDA-expression or a quantifier. | |
virtual bool | isTheorem () const |
Special Expr holding a theorem. | |
virtual CDO< Theorem > * | getSig () const |
Special attributes for uninterpreted functions. | |
virtual CDO< Theorem > * | getRep () const |
virtual void | setSig (CDO< Theorem > *sig) |
virtual void | setRep (CDO< Theorem > *rep) |
virtual const std::string & | getUid () const |
virtual const std::string & | getString () const |
virtual const Rational & | getRational () const |
virtual const std::string & | getName () const |
Returns the string name of UCONST and BOUND_VAR expr's. | |
virtual const Expr & | getVar () const |
Returns the original Boolean variable (for BoolVarExprValue) | |
virtual Op | getOp () const |
Get the Op from an Apply Expr. | |
virtual const std::vector< Expr > & | getVars () const |
virtual const Expr & | getBody () const |
virtual void | setTriggers (const std::vector< std::vector< Expr > > &triggers) |
virtual const std::vector < std::vector< Expr > > & | getTriggers () const |
virtual const Expr & | getExistential () const |
virtual int | getBoundIndex () const |
virtual const std::vector < std::string > & | getFields () const |
virtual const std::string & | getField () const |
virtual int | getTupleIndex () const |
virtual const Theorem & | getTheorem () const |
Protected Member Functions | |
unsigned | arity () const |
Return number of children. | |
const std::vector< Expr > & | getKids () const |
Return reference to children. | |
size_t | computeHash () const |
Use our static hash() for the member method. | |
Unsigned | computeSize () const |
Use our static sizeWithChildren() for the member method. | |
virtual ExprValue * | copy (ExprManager *em, ExprIndex idx=0) const |
Make a clean copy of itself using the given memory manager. | |
![]() | |
MemoryManager * | getMM (size_t MMIndex) |
Return the memory manager (for the benefit of subclasses) | |
ExprValue * | rebuild (ExprManager *em) const |
Make a clean copy of itself using the given ExprManager. | |
Expr | rebuild (Expr e, ExprManager *em) const |
Make a clean copy of the expr using the given ExprManager. | |
Protected Attributes | |
const std::vector< Expr > & | d_children |
Vector of children. | |
![]() | |
int | d_kind |
The kind of the expression. In particular, it determines which subclass of ExprValue is used to store the expression. | |
ExprManager * | d_em |
Our expr. manager. | |
Private Member Functions | |
size_t | getMMIndex () const |
Tell ExprManager who we are. | |
Friends | |
class | Expr |
class | ExprManager |
Additional Inherited Members | |
![]() | |
static size_t | pointerHash (void *p) |
static size_t | hash (const int kind, const std::vector< Expr > &kids) |
static size_t | hash (const int n) |
static Unsigned | sizeWithChildren (const std::vector< Expr > &kids) |
![]() | |
static std::hash< char * > | s_charHash |
Return child with greatest height. | |
static std::hash< long int > | s_intHash |
Definition at line 487 of file expr_value.h.
|
inline |
Constructor.
Definition at line 522 of file expr_value.h.
|
inlinevirtual |
Destructor.
Definition at line 526 of file expr_value.h.
|
inlineprivatevirtual |
Tell ExprManager who we are.
Reimplemented from CVC3::ExprValue.
Reimplemented in CVC3::ExprApplyTmp.
Definition at line 498 of file expr_value.h.
References CVC3::EXPR_NODE.
|
inlineprotectedvirtual |
Return number of children.
Reimplemented from CVC3::ExprValue.
Definition at line 502 of file expr_value.h.
References d_children.
|
inlineprotectedvirtual |
Return reference to children.
Reimplemented from CVC3::ExprValue.
Definition at line 505 of file expr_value.h.
References d_children.
|
inlineprotectedvirtual |
Use our static hash() for the member method.
Reimplemented from CVC3::ExprValue.
Reimplemented in CVC3::ExprApplyTmp.
Definition at line 508 of file expr_value.h.
References d_children, CVC3::ExprValue::d_kind, and CVC3::ExprValue::hash().
Referenced by CVC3::ExprApplyTmp::computeHash().
|
inlineprotectedvirtual |
Use our static sizeWithChildren() for the member method.
Reimplemented from CVC3::ExprValue.
Definition at line 513 of file expr_value.h.
References d_children, and CVC3::ExprValue::sizeWithChildren().
|
protectedvirtual |
Make a clean copy of itself using the given memory manager.
Reimplemented from CVC3::ExprValue.
Reimplemented in CVC3::ExprApplyTmp.
Definition at line 91 of file expr_value.cpp.
References CVC3::ExprManager::getMM().
|
virtual |
Compare with another ExprValue.
Reimplemented from CVC3::ExprValue.
Reimplemented in CVC3::ExprApplyTmp.
Definition at line 85 of file expr_value.cpp.
References CVC3::ExprValue::getKids(), CVC3::ExprValue::getKind(), and CVC3::ExprValue::getMMIndex().
|
friend |
Definition at line 488 of file expr_value.h.
|
friend |
Definition at line 489 of file expr_value.h.
|
protected |
Vector of children.
Definition at line 493 of file expr_value.h.
Referenced by arity(), computeHash(), computeSize(), and getKids().