Sophie

Sophie

distrib > PLD > th > x86_64 > by-pkgid > 9f869ff92bf81fc4b13902b2b85811f8 > files > 426

cvc3-doc-2.4.1-1.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CVC3: CVC3::ExprValue Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CVC3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCVC3.html">CVC3</a></li><li class="navelem"><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classCVC3_1_1ExprValue-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::ExprValue Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The base class for holding the actual data in expressions.  
 <a href="classCVC3_1_1ExprValue.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="expr__value_8h_source.html">expr_value.h</a>&gt;</code></p>

<p>Inherited by <a class="el" href="classCVC3_1_1BVConstExpr.html">CVC3::BVConstExpr</a>, <a class="el" href="classCVC3_1_1ExprBoundVar.html">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprClosure.html">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprNode.html">CVC3::ExprNode</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html">CVC3::ExprNodeTmp</a>, <a class="el" href="classCVC3_1_1ExprRational.html">CVC3::ExprRational</a>, <a class="el" href="classCVC3_1_1ExprSkolem.html">CVC3::ExprSkolem</a>, <a class="el" href="classCVC3_1_1ExprString.html">CVC3::ExprString</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html">CVC3::ExprSymbol</a>, and <a class="el" href="classCVC3_1_1ExprVar.html">CVC3::ExprVar</a>.</p>
<div class="dynheader">
Collaboration diagram for CVC3::ExprValue:</div>
<div class="dyncontent">
<div class="center"><img src="classCVC3_1_1ExprValue__coll__graph.gif" border="0" usemap="#CVC3_1_1ExprValue_coll__map" alt="Collaboration graph"/></div>
<map name="CVC3_1_1ExprValue_coll__map" id="CVC3_1_1ExprValue_coll__map">
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab8172375001ab8896bcefaf13a50e32c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ab8172375001ab8896bcefaf13a50e32c">ExprValue</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, int kind, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx=0)</td></tr>
<tr class="memdesc:ab8172375001ab8896bcefaf13a50e32c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ab8172375001ab8896bcefaf13a50e32c"></a><br/></td></tr>
<tr class="separator:ab8172375001ab8896bcefaf13a50e32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af42b0ab5786382e69be8a9043504bdc2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af42b0ab5786382e69be8a9043504bdc2">~ExprValue</a> ()</td></tr>
<tr class="memdesc:af42b0ab5786382e69be8a9043504bdc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#af42b0ab5786382e69be8a9043504bdc2"></a><br/></td></tr>
<tr class="separator:af42b0ab5786382e69be8a9043504bdc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af395e6f6a67e80f2fbd1dc4bee29989c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af395e6f6a67e80f2fbd1dc4bee29989c">getKind</a> () const </td></tr>
<tr class="memdesc:af395e6f6a67e80f2fbd1dc4bee29989c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the kind of the expression.  <a href="#af395e6f6a67e80f2fbd1dc4bee29989c"></a><br/></td></tr>
<tr class="separator:af395e6f6a67e80f2fbd1dc4bee29989c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f7cb3318ee9743e6e47b30780d393f9"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a6f7cb3318ee9743e6e47b30780d393f9">operator new</a> (size_t size, <a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *mm)</td></tr>
<tr class="memdesc:a6f7cb3318ee9743e6e47b30780d393f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload operator new.  <a href="#a6f7cb3318ee9743e6e47b30780d393f9"></a><br/></td></tr>
<tr class="separator:a6f7cb3318ee9743e6e47b30780d393f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1b3c8574ac40f50f4498e522c3618d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a2b1b3c8574ac40f50f4498e522c3618d">operator delete</a> (void *pMem, <a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *mm)</td></tr>
<tr class="separator:a2b1b3c8574ac40f50f4498e522c3618d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2283fde20b269f1f98ab0eb43c3dddd6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a2283fde20b269f1f98ab0eb43c3dddd6">operator delete</a> (void *)</td></tr>
<tr class="memdesc:a2283fde20b269f1f98ab0eb43c3dddd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload operator delete.  <a href="#a2283fde20b269f1f98ab0eb43c3dddd6"></a><br/></td></tr>
<tr class="separator:a2283fde20b269f1f98ab0eb43c3dddd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4280c2539ba1dd4a089f0537f7ef3d4"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af4280c2539ba1dd4a089f0537f7ef3d4">getMMIndex</a> () const </td></tr>
<tr class="memdesc:af4280c2539ba1dd4a089f0537f7ef3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get unique memory manager ID.  <a href="#af4280c2539ba1dd4a089f0537f7ef3d4"></a><br/></td></tr>
<tr class="separator:af4280c2539ba1dd4a089f0537f7ef3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdbf51b85cc77255679ac90af34a865f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#abdbf51b85cc77255679ac90af34a865f">operator==</a> (const <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> &amp;ev2) const </td></tr>
<tr class="memdesc:abdbf51b85cc77255679ac90af34a865f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality between any two <a class="el" href="classCVC3_1_1ExprValue.html" title="The base class for holding the actual data in expressions.">ExprValue</a> objects (including subclasses)  <a href="#abdbf51b85cc77255679ac90af34a865f"></a><br/></td></tr>
<tr class="separator:abdbf51b85cc77255679ac90af34a865f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6315bb02b7669d20a4069ca067a44384"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a6315bb02b7669d20a4069ca067a44384">getExprValue</a> () const </td></tr>
<tr class="memdesc:a6315bb02b7669d20a4069ca067a44384"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether the expression is a generic subclass.  <a href="#a6315bb02b7669d20a4069ca067a44384"></a><br/></td></tr>
<tr class="separator:a6315bb02b7669d20a4069ca067a44384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b8a3f5ae5d364b6ac5e49de7d3929c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a89b8a3f5ae5d364b6ac5e49de7d3929c">isString</a> () const </td></tr>
<tr class="memdesc:a89b8a3f5ae5d364b6ac5e49de7d3929c"><td class="mdescLeft">&#160;</td><td class="mdescRight">String expression tester.  <a href="#a89b8a3f5ae5d364b6ac5e49de7d3929c"></a><br/></td></tr>
<tr class="separator:a89b8a3f5ae5d364b6ac5e49de7d3929c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8770eee7784747a5f8cba21cd8db7c4"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af8770eee7784747a5f8cba21cd8db7c4">isRational</a> () const </td></tr>
<tr class="memdesc:af8770eee7784747a5f8cba21cd8db7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classCVC3_1_1Rational.html">Rational</a> number expression tester.  <a href="#af8770eee7784747a5f8cba21cd8db7c4"></a><br/></td></tr>
<tr class="separator:af8770eee7784747a5f8cba21cd8db7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1effa8e282a5a83047a61ab06498cd1d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a1effa8e282a5a83047a61ab06498cd1d">isVar</a> () const </td></tr>
<tr class="memdesc:a1effa8e282a5a83047a61ab06498cd1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uninterpreted constants.  <a href="#a1effa8e282a5a83047a61ab06498cd1d"></a><br/></td></tr>
<tr class="separator:a1effa8e282a5a83047a61ab06498cd1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac20e4b14a2aa68fd9f122f49070db33"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aac20e4b14a2aa68fd9f122f49070db33">isApply</a> () const </td></tr>
<tr class="memdesc:aac20e4b14a2aa68fd9f122f49070db33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application of another expression.  <a href="#aac20e4b14a2aa68fd9f122f49070db33"></a><br/></td></tr>
<tr class="separator:aac20e4b14a2aa68fd9f122f49070db33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a851283c6d5ec48e392c60eacc6a64b35"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a851283c6d5ec48e392c60eacc6a64b35">isSymbol</a> () const </td></tr>
<tr class="memdesc:a851283c6d5ec48e392c60eacc6a64b35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special named symbol.  <a href="#a851283c6d5ec48e392c60eacc6a64b35"></a><br/></td></tr>
<tr class="separator:a851283c6d5ec48e392c60eacc6a64b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c78d2e54f53d66f546e32cb865a34c1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a5c78d2e54f53d66f546e32cb865a34c1">isClosure</a> () const </td></tr>
<tr class="memdesc:a5c78d2e54f53d66f546e32cb865a34c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A LAMBDA-expression or a quantifier.  <a href="#a5c78d2e54f53d66f546e32cb865a34c1"></a><br/></td></tr>
<tr class="separator:a5c78d2e54f53d66f546e32cb865a34c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2a68639be3c6803bc0b942604df3952"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aa2a68639be3c6803bc0b942604df3952">isTheorem</a> () const </td></tr>
<tr class="memdesc:aa2a68639be3c6803bc0b942604df3952"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> holding a theorem.  <a href="#aa2a68639be3c6803bc0b942604df3952"></a><br/></td></tr>
<tr class="separator:aa2a68639be3c6803bc0b942604df3952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9599f84777bbbacdf953986ece645c2d"><td class="memItemLeft" align="right" valign="top">virtual const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a9599f84777bbbacdf953986ece645c2d">getKids</a> () const </td></tr>
<tr class="memdesc:a9599f84777bbbacdf953986ece645c2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get kids: by default, returns a ref to an empty vector.  <a href="#a9599f84777bbbacdf953986ece645c2d"></a><br/></td></tr>
<tr class="separator:a9599f84777bbbacdf953986ece645c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa310750ac9085b47f90be9edf3119192"><td class="memItemLeft" align="right" valign="top">virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aa310750ac9085b47f90be9edf3119192">arity</a> () const </td></tr>
<tr class="memdesc:aa310750ac9085b47f90be9edf3119192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default arity = 0.  <a href="#aa310750ac9085b47f90be9edf3119192"></a><br/></td></tr>
<tr class="separator:aa310750ac9085b47f90be9edf3119192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849c62f9a8c01cb632f594ddd46dc116"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a849c62f9a8c01cb632f594ddd46dc116">getSig</a> () const </td></tr>
<tr class="memdesc:a849c62f9a8c01cb632f594ddd46dc116"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special attributes for uninterpreted functions.  <a href="#a849c62f9a8c01cb632f594ddd46dc116"></a><br/></td></tr>
<tr class="separator:a849c62f9a8c01cb632f594ddd46dc116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafdc2a2814ab3f015c5b115901ee845e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aafdc2a2814ab3f015c5b115901ee845e">getRep</a> () const </td></tr>
<tr class="separator:aafdc2a2814ab3f015c5b115901ee845e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab49eb5cd6b429eec7676608222044b7d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ab49eb5cd6b429eec7676608222044b7d">setSig</a> (<a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *sig)</td></tr>
<tr class="separator:ab49eb5cd6b429eec7676608222044b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82f024ea7092c84889410d385cc896f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ab82f024ea7092c84889410d385cc896f">setRep</a> (<a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *rep)</td></tr>
<tr class="separator:ab82f024ea7092c84889410d385cc896f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa41e0e611f41af685e245ff12233865e"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aa41e0e611f41af685e245ff12233865e">getUid</a> () const </td></tr>
<tr class="separator:aa41e0e611f41af685e245ff12233865e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08d4299bce518b15feae6717b22db60"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ae08d4299bce518b15feae6717b22db60">getString</a> () const </td></tr>
<tr class="separator:ae08d4299bce518b15feae6717b22db60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdfb4f3179a7549d99dceaebcff0b788"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1Rational.html">Rational</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#abdfb4f3179a7549d99dceaebcff0b788">getRational</a> () const </td></tr>
<tr class="separator:abdfb4f3179a7549d99dceaebcff0b788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ac375ed03ddb0418c1f7bb61ef5f8a6"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a6ac375ed03ddb0418c1f7bb61ef5f8a6">getName</a> () const </td></tr>
<tr class="memdesc:a6ac375ed03ddb0418c1f7bb61ef5f8a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the string name of UCONST and BOUND_VAR expr's.  <a href="#a6ac375ed03ddb0418c1f7bb61ef5f8a6"></a><br/></td></tr>
<tr class="separator:a6ac375ed03ddb0418c1f7bb61ef5f8a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a292321ad1ace036ec248b34bb8f55d8e"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a292321ad1ace036ec248b34bb8f55d8e">getVar</a> () const </td></tr>
<tr class="memdesc:a292321ad1ace036ec248b34bb8f55d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the original Boolean variable (for BoolVarExprValue)  <a href="#a292321ad1ace036ec248b34bb8f55d8e"></a><br/></td></tr>
<tr class="separator:a292321ad1ace036ec248b34bb8f55d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f674a5c2a7d6c8a2ac1bafdbfcf7a41"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a2f674a5c2a7d6c8a2ac1bafdbfcf7a41">getOp</a> () const </td></tr>
<tr class="memdesc:a2f674a5c2a7d6c8a2ac1bafdbfcf7a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classCVC3_1_1Op.html">Op</a> from an Apply <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a2f674a5c2a7d6c8a2ac1bafdbfcf7a41"></a><br/></td></tr>
<tr class="separator:a2f674a5c2a7d6c8a2ac1bafdbfcf7a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac703cf03606d107e9a547d758ecc425b"><td class="memItemLeft" align="right" valign="top">virtual const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ac703cf03606d107e9a547d758ecc425b">getVars</a> () const </td></tr>
<tr class="separator:ac703cf03606d107e9a547d758ecc425b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9acd5e57727e14c4873a6ae45985903"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ab9acd5e57727e14c4873a6ae45985903">getBody</a> () const </td></tr>
<tr class="separator:ab9acd5e57727e14c4873a6ae45985903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25993f35f99548aa2b3e1a52261de160"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a25993f35f99548aa2b3e1a52261de160">setTriggers</a> (const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;triggers)</td></tr>
<tr class="separator:a25993f35f99548aa2b3e1a52261de160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e4c7523bb4dfbf80ad0157fe8196c44"><td class="memItemLeft" align="right" valign="top">virtual const std::vector<br class="typebreak"/>
&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a9e4c7523bb4dfbf80ad0157fe8196c44">getTriggers</a> () const </td></tr>
<tr class="separator:a9e4c7523bb4dfbf80ad0157fe8196c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7da29f0b091c780ec0f4b75b9d84529"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ae7da29f0b091c780ec0f4b75b9d84529">getExistential</a> () const </td></tr>
<tr class="separator:ae7da29f0b091c780ec0f4b75b9d84529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd69167d8061d19eac1cfd710a3b27e5"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#abd69167d8061d19eac1cfd710a3b27e5">getBoundIndex</a> () const </td></tr>
<tr class="separator:abd69167d8061d19eac1cfd710a3b27e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8719945f0532bb8865b6b2b3474419bc"><td class="memItemLeft" align="right" valign="top">virtual const std::vector<br class="typebreak"/>
&lt; std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a8719945f0532bb8865b6b2b3474419bc">getFields</a> () const </td></tr>
<tr class="separator:a8719945f0532bb8865b6b2b3474419bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd22ef41dcd7e7a61653e0bb0bb8aef8"><td class="memItemLeft" align="right" valign="top">virtual const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#acd22ef41dcd7e7a61653e0bb0bb8aef8">getField</a> () const </td></tr>
<tr class="separator:acd22ef41dcd7e7a61653e0bb0bb8aef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552fad1de1b7072922576a64d908c1fe"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a552fad1de1b7072922576a64d908c1fe">getTupleIndex</a> () const </td></tr>
<tr class="separator:a552fad1de1b7072922576a64d908c1fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a080156f159575061e068aa85e003a4d2"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a080156f159575061e068aa85e003a4d2">getTheorem</a> () const </td></tr>
<tr class="separator:a080156f159575061e068aa85e003a4d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad6feed84d8cadc82170213e3d8bd1a5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ad6feed84d8cadc82170213e3d8bd1a5f">getMM</a> (size_t MMIndex)</td></tr>
<tr class="memdesc:ad6feed84d8cadc82170213e3d8bd1a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the memory manager (for the benefit of subclasses)  <a href="#ad6feed84d8cadc82170213e3d8bd1a5f"></a><br/></td></tr>
<tr class="separator:ad6feed84d8cadc82170213e3d8bd1a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a5a87b2cdf0318ac9555ed82bd781c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a2a5a87b2cdf0318ac9555ed82bd781c5">rebuild</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em) const </td></tr>
<tr class="memdesc:a2a5a87b2cdf0318ac9555ed82bd781c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a clean copy of itself using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>.  <a href="#a2a5a87b2cdf0318ac9555ed82bd781c5"></a><br/></td></tr>
<tr class="separator:a2a5a87b2cdf0318ac9555ed82bd781c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bedecbaa54f53e8882e144721533000"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a7bedecbaa54f53e8882e144721533000">rebuild</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> e, <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em) const </td></tr>
<tr class="memdesc:a7bedecbaa54f53e8882e144721533000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a clean copy of the expr using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>.  <a href="#a7bedecbaa54f53e8882e144721533000"></a><br/></td></tr>
<tr class="separator:a7bedecbaa54f53e8882e144721533000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff96f4613c00f5094149c1f59639d310"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aff96f4613c00f5094149c1f59639d310">computeHash</a> () const </td></tr>
<tr class="memdesc:aff96f4613c00f5094149c1f59639d310"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non-caching hash function which actually computes the hash.  <a href="#aff96f4613c00f5094149c1f59639d310"></a><br/></td></tr>
<tr class="separator:aff96f4613c00f5094149c1f59639d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab911430c6cbd72c759e7bcb8a4889051"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ab911430c6cbd72c759e7bcb8a4889051">computeSize</a> () const </td></tr>
<tr class="memdesc:ab911430c6cbd72c759e7bcb8a4889051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non-caching size function which actually computes the size.  <a href="#ab911430c6cbd72c759e7bcb8a4889051"></a><br/></td></tr>
<tr class="separator:ab911430c6cbd72c759e7bcb8a4889051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e152d0473e881c1eb47f5baeb546525"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a2e152d0473e881c1eb47f5baeb546525">copy</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx) const </td></tr>
<tr class="memdesc:a2e152d0473e881c1eb47f5baeb546525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a clean copy of itself using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>.  <a href="#a2e152d0473e881c1eb47f5baeb546525"></a><br/></td></tr>
<tr class="separator:a2e152d0473e881c1eb47f5baeb546525"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a5685982efffdb86c85145771b9a44acd"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a5685982efffdb86c85145771b9a44acd">pointerHash</a> (void *p)</td></tr>
<tr class="separator:a5685982efffdb86c85145771b9a44acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27236b59d2bf64117e56688301de14f"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aa27236b59d2bf64117e56688301de14f">hash</a> (const int kind, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)</td></tr>
<tr class="separator:aa27236b59d2bf64117e56688301de14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6c6c0e99b81ab3cbbb8bf1dbbc58af6"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ac6c6c0e99b81ab3cbbb8bf1dbbc58af6">hash</a> (const int n)</td></tr>
<tr class="separator:ac6c6c0e99b81ab3cbbb8bf1dbbc58af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d7a5dc3a272a82518aefd68f741c792"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a1d7a5dc3a272a82518aefd68f741c792">sizeWithChildren</a> (const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;kids)</td></tr>
<tr class="separator:a1d7a5dc3a272a82518aefd68f741c792"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4984ceea8831c2c175530910174985b4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a4984ceea8831c2c175530910174985b4">d_kind</a></td></tr>
<tr class="memdesc:a4984ceea8831c2c175530910174985b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kind of the expression. In particular, it determines which subclass of <a class="el" href="classCVC3_1_1ExprValue.html" title="The base class for holding the actual data in expressions.">ExprValue</a> is used to store the expression.  <a href="#a4984ceea8831c2c175530910174985b4"></a><br/></td></tr>
<tr class="separator:a4984ceea8831c2c175530910174985b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b397b57244e8e5bb59cb95641b14d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ae0b397b57244e8e5bb59cb95641b14d0">d_em</a></td></tr>
<tr class="memdesc:ae0b397b57244e8e5bb59cb95641b14d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Our expr. manager.  <a href="#ae0b397b57244e8e5bb59cb95641b14d0"></a><br/></td></tr>
<tr class="separator:ae0b397b57244e8e5bb59cb95641b14d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:ad7ecd8a88b735ceeedc18df079e640a3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structHash_1_1hash.html">std::hash</a>&lt; char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ad7ecd8a88b735ceeedc18df079e640a3">s_charHash</a></td></tr>
<tr class="memdesc:ad7ecd8a88b735ceeedc18df079e640a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return child with greatest height.  <a href="#ad7ecd8a88b735ceeedc18df079e640a3"></a><br/></td></tr>
<tr class="separator:ad7ecd8a88b735ceeedc18df079e640a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4a750864a9d0e561e4b0ca924540198"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structHash_1_1hash.html">std::hash</a>&lt; long int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af4a750864a9d0e561e4b0ca924540198">s_intHash</a></td></tr>
<tr class="separator:af4a750864a9d0e561e4b0ca924540198"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad6f5249d320cbadf2ef3a07eab98ef5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ad6f5249d320cbadf2ef3a07eab98ef5b">setIndex</a> (<a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx)</td></tr>
<tr class="memdesc:ad6f5249d320cbadf2ef3a07eab98ef5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the ExprIndex.  <a href="#ad6f5249d320cbadf2ef3a07eab98ef5b"></a><br/></td></tr>
<tr class="separator:ad6f5249d320cbadf2ef3a07eab98ef5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0547e925398643e7779baf97d324e32e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a0547e925398643e7779baf97d324e32e">incRefcount</a> ()</td></tr>
<tr class="memdesc:a0547e925398643e7779baf97d324e32e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment reference counter.  <a href="#a0547e925398643e7779baf97d324e32e"></a><br/></td></tr>
<tr class="separator:a0547e925398643e7779baf97d324e32e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d62c9c4397548013dc302147903756e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a8d62c9c4397548013dc302147903756e">decRefcount</a> ()</td></tr>
<tr class="memdesc:a8d62c9c4397548013dc302147903756e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement reference counter.  <a href="#a8d62c9c4397548013dc302147903756e"></a><br/></td></tr>
<tr class="separator:a8d62c9c4397548013dc302147903756e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af56c36f0f7e4aab1a37cf35272d66198"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#af56c36f0f7e4aab1a37cf35272d66198">hash</a> () const </td></tr>
<tr class="memdesc:af56c36f0f7e4aab1a37cf35272d66198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Caching hash function.  <a href="#af56c36f0f7e4aab1a37cf35272d66198"></a><br/></td></tr>
<tr class="separator:af56c36f0f7e4aab1a37cf35272d66198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68254536adeffd89a4c6837df4c0095f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a68254536adeffd89a4c6837df4c0095f">getSize</a> () const </td></tr>
<tr class="memdesc:a68254536adeffd89a4c6837df4c0095f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return DAG-size of <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>.  <a href="#a68254536adeffd89a4c6837df4c0095f"></a><br/></td></tr>
<tr class="separator:a68254536adeffd89a4c6837df4c0095f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a31c61be16227d9b96035410d8312b94a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a31c61be16227d9b96035410d8312b94a">d_index</a></td></tr>
<tr class="memdesc:a31c61be16227d9b96035410d8312b94a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique expression id.  <a href="#a31c61be16227d9b96035410d8312b94a"></a><br/></td></tr>
<tr class="separator:a31c61be16227d9b96035410d8312b94a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c52eb888e4dc288fb2b951c547077a"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a85c52eb888e4dc288fb2b951c547077a">d_refcount</a></td></tr>
<tr class="memdesc:a85c52eb888e4dc288fb2b951c547077a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference counter for garbage collection.  <a href="#a85c52eb888e4dc288fb2b951c547077a"></a><br/></td></tr>
<tr class="separator:a85c52eb888e4dc288fb2b951c547077a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1afd52f0a863d5fd44d7e1a22a529061"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a1afd52f0a863d5fd44d7e1a22a529061">d_hash</a></td></tr>
<tr class="memdesc:a1afd52f0a863d5fd44d7e1a22a529061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cached hash value (initially 0)  <a href="#a1afd52f0a863d5fd44d7e1a22a529061"></a><br/></td></tr>
<tr class="separator:a1afd52f0a863d5fd44d7e1a22a529061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c66d985cd073ba81fbd777193ca6144"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a7c66d985cd073ba81fbd777193ca6144">d_find</a></td></tr>
<tr class="memdesc:a7c66d985cd073ba81fbd777193ca6144"><td class="mdescLeft">&#160;</td><td class="mdescRight">The find attribute (may be NULL)  <a href="#a7c66d985cd073ba81fbd777193ca6144"></a><br/></td></tr>
<tr class="separator:a7c66d985cd073ba81fbd777193ca6144"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e910d33cc56606779e88be386d3c40a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a3e910d33cc56606779e88be386d3c40a">d_eqNext</a></td></tr>
<tr class="memdesc:a3e910d33cc56606779e88be386d3c40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality between this term and next term in ring of all terms in the equivalence class.  <a href="#a3e910d33cc56606779e88be386d3c40a"></a><br/></td></tr>
<tr class="separator:a3e910d33cc56606779e88be386d3c40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c369e54e40d39696ff852e1013b7198"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Type.html">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a6c369e54e40d39696ff852e1013b7198">d_type</a></td></tr>
<tr class="memdesc:a6c369e54e40d39696ff852e1013b7198"><td class="mdescLeft">&#160;</td><td class="mdescRight">The cached type of the expression (may be Null)  <a href="#a6c369e54e40d39696ff852e1013b7198"></a><br/></td></tr>
<tr class="separator:a6c369e54e40d39696ff852e1013b7198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0db3195745319e1c17f8c886438752b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1NotifyList.html">NotifyList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a0db3195745319e1c17f8c886438752b8">d_notifyList</a></td></tr>
<tr class="memdesc:a0db3195745319e1c17f8c886438752b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The cached TCC of the expression (may be Null)  <a href="#a0db3195745319e1c17f8c886438752b8"></a><br/></td></tr>
<tr class="separator:a0db3195745319e1c17f8c886438752b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a016826b11af2138fb03564e19c36556b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a016826b11af2138fb03564e19c36556b">d_simpCache</a></td></tr>
<tr class="memdesc:a016826b11af2138fb03564e19c36556b"><td class="mdescLeft">&#160;</td><td class="mdescRight">For caching calls to Simplify.  <a href="#a016826b11af2138fb03564e19c36556b"></a><br/></td></tr>
<tr class="separator:a016826b11af2138fb03564e19c36556b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a62b089ce7a3573879b933c231eebb5"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a3a62b089ce7a3573879b933c231eebb5">d_simpCacheTag</a></td></tr>
<tr class="memdesc:a3a62b089ce7a3573879b933c231eebb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">For checking whether simplify cache is valid.  <a href="#a3a62b089ce7a3573879b933c231eebb5"></a><br/></td></tr>
<tr class="separator:a3a62b089ce7a3573879b933c231eebb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a15db9962002e088cbfbaa7f3142825"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1CDFlags.html">CDFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a9a15db9962002e088cbfbaa7f3142825">d_dynamicFlags</a></td></tr>
<tr class="memdesc:a9a15db9962002e088cbfbaa7f3142825"><td class="mdescLeft">&#160;</td><td class="mdescRight">context-dependent bit-vector for flags that are context-dependent  <a href="#a9a15db9962002e088cbfbaa7f3142825"></a><br/></td></tr>
<tr class="separator:a9a15db9962002e088cbfbaa7f3142825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7316c58d0068e9392de07ed946765ccc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a7316c58d0068e9392de07ed946765ccc">d_size</a></td></tr>
<tr class="memdesc:a7316c58d0068e9392de07ed946765ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of dag rooted at this expression.  <a href="#a7316c58d0068e9392de07ed946765ccc"></a><br/></td></tr>
<tr class="separator:a7316c58d0068e9392de07ed946765ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a138cac22ce17733ee7dad8fa5f65f4ac"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a138cac22ce17733ee7dad8fa5f65f4ac">d_flag</a></td></tr>
<tr class="memdesc:a138cac22ce17733ee7dad8fa5f65f4ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Which child has the largest height.  <a href="#a138cac22ce17733ee7dad8fa5f65f4ac"></a><br/></td></tr>
<tr class="separator:a138cac22ce17733ee7dad8fa5f65f4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aa33520359f6cc0f51b476790d39ed869"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#aa33520359f6cc0f51b476790d39ed869">Expr</a></td></tr>
<tr class="separator:aa33520359f6cc0f51b476790d39ed869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b9ef2c635ba39028682ac8ce19a17b8"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a5b9ef2c635ba39028682ac8ce19a17b8">Expr::iterator</a></td></tr>
<tr class="separator:a5b9ef2c635ba39028682ac8ce19a17b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53c627979d9a14928590601b9fd195c2"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a53c627979d9a14928590601b9fd195c2">ExprManager</a></td></tr>
<tr class="separator:a53c627979d9a14928590601b9fd195c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a2a0fa995725e9988683c6dabd503c"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a61a2a0fa995725e9988683c6dabd503c">::CInterface</a></td></tr>
<tr class="separator:a61a2a0fa995725e9988683c6dabd503c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad289fb23607ce2d96d86ef960f658268"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#ad289fb23607ce2d96d86ef960f658268">ExprApply</a></td></tr>
<tr class="separator:ad289fb23607ce2d96d86ef960f658268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51f48d7e14c97707595cfe5f8f6df209"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a51f48d7e14c97707595cfe5f8f6df209">Theorem</a></td></tr>
<tr class="separator:a51f48d7e14c97707595cfe5f8f6df209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53271ded90a8b528132eeb7247936492"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1ExprValue.html#a53271ded90a8b528132eeb7247936492">ExprClosure</a></td></tr>
<tr class="separator:a53271ded90a8b528132eeb7247936492"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The base class for holding the actual data in expressions. </p>
<p>Author: Sergey Berezin</p>
<p>Created: long time ago</p>
<p><a class="anchor" id="ExprValue"></a>The base class just holds the operator. All the additional data resides in subclasses. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00069">69</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab8172375001ab8896bcefaf13a50e32c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ExprValue::ExprValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td>
          <td class="paramname"><em>em</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a>&#160;</td>
          <td class="paramname"><em>idx</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00223">223</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="kinds_8h_source.html#l00090">APPLY</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="cvc__util_8h_source.html#l00046">CVC3::int2string()</a>, and <a class="el" href="expr__manager_8h_source.html#l00392">CVC3::ExprManager::isKindRegistered()</a>.</p>

</div>
</div>
<a class="anchor" id="af42b0ab5786382e69be8a9043504bdc2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ExprValue::~ExprValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00041">41</a> of file <a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad6f5249d320cbadf2ef3a07eab98ef5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprValue::setIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a>&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the ExprIndex. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00139">139</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0547e925398643e7779baf97d324e32e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprValue::incRefcount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Increment reference counter. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00142">142</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l00807">CVC3::Expr::Expr()</a>, <a class="el" href="theorem_8cpp_source.html#l00091">CVC3::Theorem::operator=()</a>, <a class="el" href="expr_8h_source.html#l00813">CVC3::Expr::operator=()</a>, and <a class="el" href="theorem_8cpp_source.html#l00131">CVC3::Theorem::Theorem()</a>.</p>

</div>
</div>
<a class="anchor" id="a8d62c9c4397548013dc302147903756e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprValue::decRefcount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Decrement reference counter. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00145">145</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00037">FatalAssert</a>, and <a class="el" href="debug_8h_source.html#l00406">IF_DEBUG</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l00813">CVC3::Expr::operator=()</a>, and <a class="el" href="theorem_8cpp_source.html#l00188">CVC3::Theorem::~Theorem()</a>.</p>

</div>
</div>
<a class="anchor" id="af56c36f0f7e4aab1a37cf35272d66198"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t CVC3::ExprValue::hash </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Caching hash function. </p>
<p>Do NOT implement it in subclasses! Implement <a class="el" href="classCVC3_1_1ExprValue.html#aff96f4613c00f5094149c1f59639d310" title="Non-caching hash function which actually computes the hash.">computeHash()</a> instead. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00155">155</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="theory__bitvector_8cpp_source.html#l05556">CVC3::BVConstExpr::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00442">CVC3::ExprNode::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00508">CVC3::ExprNodeTmp::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00675">CVC3::ExprString::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00759">CVC3::ExprRational::computeHash()</a>, and <a class="el" href="expr__manager_8h_source.html#l00449">CVC3::ExprManager::hash()</a>.</p>

</div>
</div>
<a class="anchor" id="a68254536adeffd89a4c6837df4c0095f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> CVC3::ExprValue::getSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return DAG-size of <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00162">162</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8h_source.html#l00923">CVC3::ExprClosure::computeSize()</a>, and <a class="el" href="expr_8h_source.html#l01030">CVC3::Expr::getSize()</a>.</p>

</div>
</div>
<a class="anchor" id="a5685982efffdb86c85145771b9a44acd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t CVC3::ExprValue::pointerHash </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00185">185</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa27236b59d2bf64117e56688301de14f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t CVC3::ExprValue::hash </td>
          <td>(</td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>kind</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00310">310</a> of file <a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a>.</p>

<p>References <a class="el" href="expr__value_8h_source.html#l00050">PRIME</a>.</p>

</div>
</div>
<a class="anchor" id="ac6c6c0e99b81ab3cbbb8bf1dbbc58af6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t CVC3::ExprValue::hash </td>
          <td>(</td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00189">189</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1d7a5dc3a272a82518aefd68f741c792"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> CVC3::ExprValue::sizeWithChildren </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>kids</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00322">322</a> of file <a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8h_source.html#l00447">CVC3::ExprNode::computeSize()</a>, and <a class="el" href="expr__value_8h_source.html#l00513">CVC3::ExprNodeTmp::computeSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ad6feed84d8cadc82170213e3d8bd1a5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a>* CVC3::ExprValue::getMM </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>MMIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the memory manager (for the benefit of subclasses) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00195">195</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

</div>
</div>
<a class="anchor" id="a2a5a87b2cdf0318ac9555ed82bd781c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a>* CVC3::ExprValue::rebuild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td>
          <td class="paramname"><em>em</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Make a clean copy of itself using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00201">201</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__manager_8cpp_source.html#l00251">CVC3::ExprManager::rebuildRec()</a>.</p>

</div>
</div>
<a class="anchor" id="a7bedecbaa54f53e8882e144721533000"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::ExprValue::rebuild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1Expr.html">Expr</a>&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td>
          <td class="paramname"><em>em</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Make a clean copy of the expr using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00205">205</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="expr__manager_8cpp_source.html#l00251">CVC3::ExprManager::rebuildRec()</a>.</p>

</div>
</div>
<a class="anchor" id="aff96f4613c00f5094149c1f59639d310"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t CVC3::ExprValue::computeHash </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Non-caching hash function which actually computes the hash. </p>
<p>This is the method that all subclasses should implement </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#a951f66c6e23cc85e9971d3635a5ca32f">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprBoundVar.html#af6e764f471cc4e0ce46fca1be122fb6f">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html#a09f33e7bff4c27eb7f1642dbf80df541">CVC3::ExprSymbol</a>, <a class="el" href="classCVC3_1_1ExprVar.html#a2e1ff8f2094e098e12a3673d82e3143b">CVC3::ExprVar</a>, <a class="el" href="classCVC3_1_1ExprRational.html#ae62f85eba37a27c56ca0de16e792810b">CVC3::ExprRational</a>, <a class="el" href="classCVC3_1_1ExprSkolem.html#a64883a16d22840e8dbfb6af24d070c0c">CVC3::ExprSkolem</a>, <a class="el" href="classCVC3_1_1ExprString.html#a1b27290de26548ef6614c3820ea44938">CVC3::ExprString</a>, <a class="el" href="classCVC3_1_1ExprApply.html#a0da9d686905da4c3680c54816f6201f3">CVC3::ExprApply</a>, <a class="el" href="classCVC3_1_1ExprApplyTmp.html#af4c914a8362466d33b486c5b5f015fca">CVC3::ExprApplyTmp</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html#a15ab222ddc16edc4d0977bb9e85378cb">CVC3::ExprNodeTmp</a>, <a class="el" href="classCVC3_1_1ExprNode.html#a174cf42aa43c9359e6ccba323ae6d247">CVC3::ExprNode</a>, and <a class="el" href="classCVC3_1_1BVConstExpr.html#ad1cf9149b25bf814fe4ae4a6b84a758b">CVC3::BVConstExpr</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00212">212</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab911430c6cbd72c759e7bcb8a4889051"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> CVC3::ExprValue::computeSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Non-caching size function which actually computes the size. </p>
<p>This is the method that all subclasses should implement </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#a79e25ba45878808a6bc469b59067af9e">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html#a2f120a799c82eb71ea3609bb5d2f59d2">CVC3::ExprNodeTmp</a>, and <a class="el" href="classCVC3_1_1ExprNode.html#a95d975ce32c6b4facee6ddcbbc86b29c">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00216">216</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2e152d0473e881c1eb47f5baeb546525"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> * CVC3::ExprValue::copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *&#160;</td>
          <td class="paramname"><em>em</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a>&#160;</td>
          <td class="paramname"><em>idx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Make a clean copy of itself using the given <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#ab6e542c95c172b7808b5482f07b98ece">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprBoundVar.html#a725cc70819afe83d681da8b5e6d5c465">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html#a1d545499f7a5c73c312a1e8fea68f709">CVC3::ExprSymbol</a>, <a class="el" href="classCVC3_1_1ExprVar.html#ad1d7182255f34bf98de5cb67d6a7f8d2">CVC3::ExprVar</a>, <a class="el" href="classCVC3_1_1ExprRational.html#a3d9af97e78644aac931a3d5bdb45d7d9">CVC3::ExprRational</a>, <a class="el" href="classCVC3_1_1ExprSkolem.html#aa6412b4c6ffe1ebea37c066219af1d2a">CVC3::ExprSkolem</a>, <a class="el" href="classCVC3_1_1ExprString.html#a0c9b985a0eb85e5b997eb96f224fd3e0">CVC3::ExprString</a>, <a class="el" href="classCVC3_1_1ExprApply.html#ab037958a049c79b27eff3c75a329af5c">CVC3::ExprApply</a>, <a class="el" href="classCVC3_1_1ExprApplyTmp.html#ae6c716304151bd796921ac86fe9529a7">CVC3::ExprApplyTmp</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html#a5327d514d06f1c3a799e29d61f8d7de3">CVC3::ExprNodeTmp</a>, <a class="el" href="classCVC3_1_1ExprNode.html#a310b7e3f394047f33c9dfe341f976547">CVC3::ExprNode</a>, and <a class="el" href="classCVC3_1_1BVConstExpr.html#adb36c6734696301ef1733c3454a2db14">CVC3::BVConstExpr</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00078">78</a> of file <a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l00066">CVC3::EXPR_VALUE</a>, and <a class="el" href="expr__manager_8h_source.html#l00334">CVC3::ExprManager::getMM()</a>.</p>

<p>Referenced by <a class="el" href="expr__manager_8cpp_source.html#l00288">CVC3::ExprManager::newExprValue()</a>.</p>

</div>
</div>
<a class="anchor" id="af395e6f6a67e80f2fbd1dc4bee29989c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CVC3::ExprValue::getKind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the kind of the expression. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00250">250</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8cpp_source.html#l00123">CVC3::ExprNode::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00085">CVC3::ExprNodeTmp::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00186">CVC3::ExprVar::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00198">CVC3::ExprSymbol::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00210">CVC3::ExprBoundVar::operator==()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00269">CVC3::ExprClosure::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a6f7cb3318ee9743e6e47b30780d393f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* CVC3::ExprValue::operator new </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *&#160;</td>
          <td class="paramname"><em>mm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overload operator new. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00253">253</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2b1b3c8574ac40f50f4498e522c3618d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprValue::operator delete </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>pMem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *&#160;</td>
          <td class="paramname"><em>mm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00255">255</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2283fde20b269f1f98ab0eb43c3dddd6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprValue::operator delete </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Overload operator delete. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00260">260</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="af4280c2539ba1dd4a089f0537f7ef3d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t CVC3::ExprValue::getMMIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get unique memory manager ID. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#a4c77585f13ed65198748dcce7d63ebeb">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprBoundVar.html#aff9cabb507294318f15da1c0f22a4684">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html#abe367584fb2773d7c633376f180078cc">CVC3::ExprSymbol</a>, <a class="el" href="classCVC3_1_1ExprVar.html#ad9bcb5d5433a5a689cbf46a43dc42164">CVC3::ExprVar</a>, <a class="el" href="classCVC3_1_1ExprRational.html#a34b6ebb3a8750985833ca46a0a899ceb">CVC3::ExprRational</a>, <a class="el" href="classCVC3_1_1ExprSkolem.html#aff1a22aeb126821f72c3bc7e2f3f1900">CVC3::ExprSkolem</a>, <a class="el" href="classCVC3_1_1ExprString.html#a50112fa6dbb243ce8eff84bd0dd20815">CVC3::ExprString</a>, <a class="el" href="classCVC3_1_1ExprApply.html#a4ad3ee901de6fd94e02e117648a9fbe3">CVC3::ExprApply</a>, <a class="el" href="classCVC3_1_1ExprApplyTmp.html#aa8919744447552a00dc79cd814f67641">CVC3::ExprApplyTmp</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html#aa3e307554c30d3ebca5ba6510309cad2">CVC3::ExprNodeTmp</a>, <a class="el" href="classCVC3_1_1ExprNode.html#a0766d1da69426e87ad41181ce1b55b49">CVC3::ExprNode</a>, and <a class="el" href="classCVC3_1_1BVConstExpr.html#ad3a0ddfb37958c36b453243ce3320996">CVC3::BVConstExpr</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00263">263</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="expr_8h_source.html#l00066">CVC3::EXPR_VALUE</a>.</p>

<p>Referenced by <a class="el" href="expr__manager_8cpp_source.html#l00141">CVC3::ExprManager::clear()</a>, <a class="el" href="expr__manager_8cpp_source.html#l00188">CVC3::ExprManager::gc()</a>, <a class="el" href="expr_8h_source.html#l01227">CVC3::Expr::getMMIndex()</a>, <a class="el" href="bitvector__expr__value_8h_source.html#l00057">CVC3::BVConstExpr::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00068">operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00123">CVC3::ExprNode::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00085">CVC3::ExprNodeTmp::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00246">CVC3::ExprApplyTmp::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00223">CVC3::ExprApply::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00144">CVC3::ExprString::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00156">CVC3::ExprSkolem::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00174">CVC3::ExprRational::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00186">CVC3::ExprVar::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00198">CVC3::ExprSymbol::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00210">CVC3::ExprBoundVar::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00269">CVC3::ExprClosure::operator==()</a>, and <a class="el" href="expr__manager_8cpp_source.html#l00212">CVC3::ExprManager::resumeGC()</a>.</p>

</div>
</div>
<a class="anchor" id="abdbf51b85cc77255679ac90af34a865f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::ExprValue::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> &amp;&#160;</td>
          <td class="paramname"><em>ev2</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equality between any two <a class="el" href="classCVC3_1_1ExprValue.html" title="The base class for holding the actual data in expressions.">ExprValue</a> objects (including subclasses) </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#a5436ff96ddf0bc10741e5704e017b9e5">CVC3::ExprClosure</a>, <a class="el" href="classCVC3_1_1ExprBoundVar.html#a7c23a77bf1e2f6be4cd5b67335667520">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html#af4cbd999ce3ae3dd63bd331702057577">CVC3::ExprSymbol</a>, <a class="el" href="classCVC3_1_1ExprVar.html#aeb66b16c91d7e7fde955ec63a3b2155a">CVC3::ExprVar</a>, <a class="el" href="classCVC3_1_1ExprRational.html#a62494c541b3be07a0e8ee1c5a85a86cd">CVC3::ExprRational</a>, <a class="el" href="classCVC3_1_1ExprSkolem.html#aecf96e5c8dcce7d539fc95ed445e0395">CVC3::ExprSkolem</a>, <a class="el" href="classCVC3_1_1ExprString.html#a796ac7a56c0c18164b13f75fd7d313d9">CVC3::ExprString</a>, <a class="el" href="classCVC3_1_1ExprApply.html#a586df76783802f74b7ad7c32e13b0717">CVC3::ExprApply</a>, <a class="el" href="classCVC3_1_1ExprApplyTmp.html#ae2c792ed30416c92749921094b8e4ba7">CVC3::ExprApplyTmp</a>, <a class="el" href="classCVC3_1_1ExprNodeTmp.html#a27ded0c9ddba00025c1f84d181327893">CVC3::ExprNodeTmp</a>, <a class="el" href="classCVC3_1_1ExprNode.html#a0871972a81dffc313075887a9b933494">CVC3::ExprNode</a>, and <a class="el" href="classCVC3_1_1BVConstExpr.html#aa66418f8824a594e9570b036950feeb2">CVC3::BVConstExpr</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00068">68</a> of file <a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a>.</p>

<p>References <a class="el" href="expr__value_8h_source.html#l00129">d_kind</a>, <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, <a class="el" href="expr_8h_source.html#l00066">CVC3::EXPR_VALUE</a>, and <a class="el" href="expr__value_8h_source.html#l00263">getMMIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="a6315bb02b7669d20a4069ca067a44384"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a>* CVC3::ExprValue::getExprValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether the expression is a generic subclass. </p>
<dl class="section return"><dt>Returns</dt><dd>0 for the core classes, and <a class="el" href="classCVC3_1_1ExprValue.html#af4280c2539ba1dd4a089f0537f7ef3d4" title="Get unique memory manager ID.">getMMIndex()</a> value for generic subclasses (those defined in DPs) </dd></dl>

<p>Reimplemented in <a class="el" href="classCVC3_1_1BVConstExpr.html#adcb98b161f0433b1d5cac71d9e14450c">CVC3::BVConstExpr</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00275">275</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01000">CVC3::Expr::getExprValue()</a>.</p>

</div>
</div>
<a class="anchor" id="a89b8a3f5ae5d364b6ac5e49de7d3929c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>String expression tester. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprString.html#a60ae9d5ce7839bee80427357aba8381c">CVC3::ExprString</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00278">278</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01006">CVC3::Expr::isString()</a>.</p>

</div>
</div>
<a class="anchor" id="af8770eee7784747a5f8cba21cd8db7c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isRational </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classCVC3_1_1Rational.html">Rational</a> number expression tester. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprRational.html#ac33f6dde70c4e5fc8d33bd6841fb80ef">CVC3::ExprRational</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00280">280</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1effa8e282a5a83047a61ab06498cd1d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isVar </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Uninterpreted constants. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprBoundVar.html#ade9c751983350426473a892f39197418">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprVar.html#a229e97b35fc1f314925c047dc2875fcd">CVC3::ExprVar</a>, and <a class="el" href="classCVC3_1_1ExprSkolem.html#a5821755ee96164397f8efb15c21f4c1b">CVC3::ExprSkolem</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00282">282</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01005">CVC3::Expr::isVar()</a>.</p>

</div>
</div>
<a class="anchor" id="aac20e4b14a2aa68fd9f122f49070db33"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isApply </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Application of another expression. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprApply.html#aedccb1ec74deed98f2750abbf6edd78e">CVC3::ExprApply</a>, and <a class="el" href="classCVC3_1_1ExprApplyTmp.html#a49f437d2267552058c0f4db0ccc3417d">CVC3::ExprApplyTmp</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00284">284</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01014">CVC3::Expr::isApply()</a>.</p>

</div>
</div>
<a class="anchor" id="a851283c6d5ec48e392c60eacc6a64b35"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isSymbol </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Special named symbol. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprSymbol.html#ae90e8432e709dd2ed8e7fc0f444c251a">CVC3::ExprSymbol</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00286">286</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01018">CVC3::Expr::isSymbol()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c78d2e54f53d66f546e32cb865a34c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isClosure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A LAMBDA-expression or a quantifier. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#a8ce919aadc4c527ad3133adb84eed089">CVC3::ExprClosure</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00288">288</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01007">CVC3::Expr::isClosure()</a>.</p>

</div>
</div>
<a class="anchor" id="aa2a68639be3c6803bc0b942604df3952"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprValue::isTheorem </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Special <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> holding a theorem. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00290">290</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01019">CVC3::Expr::isTheorem()</a>.</p>

</div>
</div>
<a class="anchor" id="a9599f84777bbbacdf953986ece645c2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt;&amp; CVC3::ExprValue::getKids </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get kids: by default, returns a ref to an empty vector. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNodeTmp.html#a42140d5097e93c6ebcf7c196f0919530">CVC3::ExprNodeTmp</a>, and <a class="el" href="classCVC3_1_1ExprNode.html#a2b225f4f677b88f48a1cb5f79bf12219">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00293">293</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>, <a class="el" href="expr_8h_source.html#l01162">CVC3::Expr::getKids()</a>, <a class="el" href="expr__value_8cpp_source.html#l00123">CVC3::ExprNode::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00085">CVC3::ExprNodeTmp::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00246">CVC3::ExprApplyTmp::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00223">CVC3::ExprApply::operator==()</a>, and <a class="el" href="expr_8h_source.html#l01206">CVC3::Expr::operator[]()</a>.</p>

</div>
</div>
<a class="anchor" id="aa310750ac9085b47f90be9edf3119192"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned CVC3::ExprValue::arity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default arity = 0. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNodeTmp.html#aa8346e9ddcf8addfdb3a0ebcf1493d59">CVC3::ExprNodeTmp</a>, and <a class="el" href="classCVC3_1_1ExprNode.html#ad13fece28a0df70ad2cb56a0cfc6b216">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00299">299</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01201">CVC3::Expr::arity()</a>, <a class="el" href="expr_8h_source.html#l01211">CVC3::Expr::begin()</a>, and <a class="el" href="expr_8h_source.html#l01217">CVC3::Expr::end()</a>.</p>

</div>
</div>
<a class="anchor" id="a849c62f9a8c01cb632f594ddd46dc116"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt;* CVC3::ExprValue::getSig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Special attributes for uninterpreted functions. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNode.html#a07c802cf4ae926ba0e97a141beddd1e6">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00302">302</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01560">CVC3::Expr::getSig()</a>, <a class="el" href="expr_8h_source.html#l01548">CVC3::Expr::hasSig()</a>, and <a class="el" href="expr_8h_source.html#l01578">CVC3::Expr::setSig()</a>.</p>

</div>
</div>
<a class="anchor" id="aafdc2a2814ab3f015c5b115901ee845e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt;* CVC3::ExprValue::getRep </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNode.html#a02ac368f0c51814169e3b16bacb88b9d">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00307">307</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01569">CVC3::Expr::getRep()</a>, <a class="el" href="expr_8h_source.html#l01554">CVC3::Expr::hasRep()</a>, and <a class="el" href="expr_8h_source.html#l01589">CVC3::Expr::setRep()</a>.</p>

</div>
</div>
<a class="anchor" id="ab49eb5cd6b429eec7676608222044b7d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ExprValue::setSig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td>
          <td class="paramname"><em>sig</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNode.html#ab47e9d3908b0f6f05547f69642882647">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00312">312</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01578">CVC3::Expr::setSig()</a>.</p>

</div>
</div>
<a class="anchor" id="ab82f024ea7092c84889410d385cc896f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ExprValue::setRep </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt; <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> &gt; *&#160;</td>
          <td class="paramname"><em>rep</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprNode.html#a7284e74310d4000ec1ccc2cc7b376a73">CVC3::ExprNode</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00316">316</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01589">CVC3::Expr::setRep()</a>.</p>

</div>
</div>
<a class="anchor" id="aa41e0e611f41af685e245ff12233865e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::string&amp; CVC3::ExprValue::getUid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprBoundVar.html#a5a8bdb9ebd6a6eb2b613441304fd4b4b">CVC3::ExprBoundVar</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00320">320</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01149">CVC3::Expr::getUid()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00210">CVC3::ExprBoundVar::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="ae08d4299bce518b15feae6717b22db60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::string&amp; CVC3::ExprValue::getString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprString.html#a4b6491652a4a8c2c4227ad7f15a7763f">CVC3::ExprString</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00326">326</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01055">CVC3::Expr::getString()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00144">CVC3::ExprString::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="abdfb4f3179a7549d99dceaebcff0b788"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Rational.html">Rational</a>&amp; CVC3::ExprValue::getRational </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprRational.html#a61f8c45ec5b5980375158803d0452c80">CVC3::ExprRational</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00332">332</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01135">CVC3::Expr::getRational()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00174">CVC3::ExprRational::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a6ac375ed03ddb0418c1f7bb61ef5f8a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::string&amp; CVC3::ExprValue::getName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the string name of UCONST and BOUND_VAR expr's. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprBoundVar.html#aa39ffcdf8ffc7cee971b3500f9d591fc">CVC3::ExprBoundVar</a>, <a class="el" href="classCVC3_1_1ExprSymbol.html#a2fee651fb0f939b95a0d5b83873d13d2">CVC3::ExprSymbol</a>, and <a class="el" href="classCVC3_1_1ExprVar.html#a7a80e161bc98205b0f57864149e24bd6">CVC3::ExprVar</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00339">339</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01050">CVC3::Expr::getName()</a>, <a class="el" href="expr__value_8cpp_source.html#l00186">CVC3::ExprVar::operator==()</a>, <a class="el" href="expr__value_8cpp_source.html#l00198">CVC3::ExprSymbol::operator==()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00210">CVC3::ExprBoundVar::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a292321ad1ace036ec248b34bb8f55d8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&amp; CVC3::ExprValue::getVar </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the original Boolean variable (for BoolVarExprValue) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00346">346</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

</div>
</div>
<a class="anchor" id="a2f674a5c2a7d6c8a2ac1bafdbfcf7a41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCVC3_1_1Op.html">Op</a> CVC3::ExprValue::getOp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the <a class="el" href="classCVC3_1_1Op.html">Op</a> from an Apply <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </p>

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprApply.html#a090d71fdffa7084caae66faf7b3c9db8">CVC3::ExprApply</a>, and <a class="el" href="classCVC3_1_1ExprApplyTmp.html#aeaacf030e67a4a6cab76122ca2d773fa">CVC3::ExprApplyTmp</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00353">353</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>, and <a class="el" href="kinds_8h_source.html#l00032">NULL_KIND</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01183">CVC3::Expr::getOp()</a>, <a class="el" href="expr__value_8cpp_source.html#l00246">CVC3::ExprApplyTmp::operator==()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00223">CVC3::ExprApply::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="ac703cf03606d107e9a547d758ecc425b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt;&amp; CVC3::ExprValue::getVars </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#ae620c1d3c479f7335e3018c28d744ba4">CVC3::ExprClosure</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00358">358</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01062">CVC3::Expr::getVars()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00269">CVC3::ExprClosure::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9acd5e57727e14c4873a6ae45985903"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&amp; CVC3::ExprValue::getBody </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#ac53af27e93829100ce627c1396f2224d">CVC3::ExprClosure</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00364">364</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01069">CVC3::Expr::getBody()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00269">CVC3::ExprClosure::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a25993f35f99548aa2b3e1a52261de160"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ExprValue::setTriggers </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>triggers</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#ac5a8b4bfa2be7fcca103aa006f54c7bd">CVC3::ExprClosure</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00370">370</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01076">CVC3::Expr::setTriggers()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e4c7523bb4dfbf80ad0157fe8196c44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::vector&lt;std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; &gt;&amp; CVC3::ExprValue::getTriggers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprClosure.html#ab1e5706a15cd27dae0dc98a6408ab2da">CVC3::ExprClosure</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00374">374</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01116">CVC3::Expr::getTriggers()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7da29f0b091c780ec0f4b75b9d84529"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&amp; CVC3::ExprValue::getExistential </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprSkolem.html#a74d3801141f513953afe8001e85f6d8c">CVC3::ExprSkolem</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00381">381</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01123">CVC3::Expr::getExistential()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00156">CVC3::ExprSkolem::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="abd69167d8061d19eac1cfd710a3b27e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int CVC3::ExprValue::getBoundIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="classCVC3_1_1ExprSkolem.html#a3cd490dac8f01e059ee6c638d6ebb2dc">CVC3::ExprSkolem</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00386">386</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01128">CVC3::Expr::getBoundIndex()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00156">CVC3::ExprSkolem::operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a8719945f0532bb8865b6b2b3474419bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::vector&lt;std::string&gt;&amp; CVC3::ExprValue::getFields </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00391">391</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

</div>
</div>
<a class="anchor" id="acd22ef41dcd7e7a61653e0bb0bb8aef8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::string&amp; CVC3::ExprValue::getField </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00396">396</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

</div>
</div>
<a class="anchor" id="a552fad1de1b7072922576a64d908c1fe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int CVC3::ExprValue::getTupleIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00401">401</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

</div>
</div>
<a class="anchor" id="a080156f159575061e068aa85e003a4d2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&amp; CVC3::ExprValue::getTheorem </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00405">405</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00408">DebugAssert</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01142">CVC3::Expr::getTheorem()</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="aa33520359f6cc0f51b476790d39ed869"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1Expr.html">Expr</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00070">70</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5b9ef2c635ba39028682ac8ce19a17b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1Expr_1_1iterator.html">Expr::iterator</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00071">71</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a53c627979d9a14928590601b9fd195c2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00072">72</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a61a2a0fa995725e9988683c6dabd503c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class ::CInterface</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00073">73</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad289fb23607ce2d96d86ef960f658268"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1ExprApply.html">ExprApply</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00074">74</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a51f48d7e14c97707595cfe5f8f6df209"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1Theorem.html">Theorem</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00075">75</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a53271ded90a8b528132eeb7247936492"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1ExprClosure.html">ExprClosure</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00076">76</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a31c61be16227d9b96035410d8312b94a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> CVC3::ExprValue::d_index</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unique expression id. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00079">79</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01173">CVC3::Expr::getIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="a85c52eb888e4dc288fb2b951c547077a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned CVC3::ExprValue::d_refcount</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reference counter for garbage collection. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00082">82</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l00985">CVC3::Expr::~Expr()</a>.</p>

</div>
</div>
<a class="anchor" id="a1afd52f0a863d5fd44d7e1a22a529061"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t CVC3::ExprValue::d_hash</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cached hash value (initially 0) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00085">85</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7c66d985cd073ba81fbd777193ca6144"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt;* CVC3::ExprValue::d_find</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The find attribute (may be NULL) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00088">88</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01237">CVC3::Expr::getFind()</a>, <a class="el" href="expr_8h_source.html#l01242">CVC3::Expr::getFindLevel()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, and <a class="el" href="expr_8h_source.html#l01405">CVC3::Expr::setFind()</a>.</p>

</div>
</div>
<a class="anchor" id="a3e910d33cc56606779e88be386d3c40a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a>&lt;<a class="el" href="classCVC3_1_1Theorem.html">Theorem</a>&gt;* CVC3::ExprValue::d_eqNext</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equality between this term and next term in ring of all terms in the equivalence class. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00091">91</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01247">CVC3::Expr::getEqNext()</a>, and <a class="el" href="expr_8h_source.html#l01416">CVC3::Expr::setEqNext()</a>.</p>

</div>
</div>
<a class="anchor" id="a6c369e54e40d39696ff852e1013b7198"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Type.html">Type</a> CVC3::ExprValue::d_type</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The cached type of the expression (may be Null) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00094">94</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01259">CVC3::Expr::getType()</a>, <a class="el" href="expr_8h_source.html#l01265">CVC3::Expr::lookupType()</a>, <a class="el" href="expr__manager_8cpp_source.html#l00251">CVC3::ExprManager::rebuildRec()</a>, and <a class="el" href="expr_8h_source.html#l01427">CVC3::Expr::setType()</a>.</p>

</div>
</div>
<a class="anchor" id="a0db3195745319e1c17f8c886438752b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1NotifyList.html">NotifyList</a>* CVC3::ExprValue::d_notifyList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The cached TCC of the expression (may be Null) </p>
<p>Subtyping predicate for the expression and all subexpressions Notify list may be NULL (== no such attribute) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00103">103</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01254">CVC3::Expr::getNotify()</a>.</p>

</div>
</div>
<a class="anchor" id="a016826b11af2138fb03564e19c36556b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Theorem.html">Theorem</a> CVC3::ExprValue::d_simpCache</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For caching calls to Simplify. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00106">106</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01298">CVC3::Expr::getSimpCache()</a>, and <a class="el" href="expr_8h_source.html#l01432">CVC3::Expr::setSimpCache()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a62b089ce7a3573879b933c231eebb5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned CVC3::ExprValue::d_simpCacheTag</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For checking whether simplify cache is valid. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00109">109</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01432">CVC3::Expr::setSimpCache()</a>, and <a class="el" href="expr_8h_source.html#l01294">CVC3::Expr::validSimpCache()</a>.</p>

</div>
</div>
<a class="anchor" id="a9a15db9962002e088cbfbaa7f3142825"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1CDFlags.html">CDFlags</a> CVC3::ExprValue::d_dynamicFlags</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>context-dependent bit-vector for flags that are context-dependent </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00112">112</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01543">CVC3::Expr::clearRewriteNormal()</a>, <a class="el" href="expr_8h_source.html#l01334">CVC3::Expr::computeTransClosure()</a>, <a class="el" href="expr_8h_source.html#l01338">CVC3::Expr::containsBoundVar()</a>, <a class="el" href="expr_8h_source.html#l01314">CVC3::Expr::getIsAtomicFlag()</a>, <a class="el" href="expr_8h_source.html#l01318">CVC3::Expr::getTerminalsConstFlag()</a>, <a class="el" href="expr_8h_source.html#l01358">CVC3::Expr::inUserAssumption()</a>, <a class="el" href="expr_8h_source.html#l01326">CVC3::Expr::isFinite()</a>, <a class="el" href="expr_8h_source.html#l01350">CVC3::Expr::isImpliedLiteral()</a>, <a class="el" href="expr_8h_source.html#l01362">CVC3::Expr::isIntAssumption()</a>, <a class="el" href="expr_8h_source.html#l01366">CVC3::Expr::isJustified()</a>, <a class="el" href="expr_8h_source.html#l01378">CVC3::Expr::isRegisteredAtom()</a>, <a class="el" href="expr_8h_source.html#l01322">CVC3::Expr::isRewriteNormal()</a>, <a class="el" href="expr_8h_source.html#l01382">CVC3::Expr::isSelected()</a>, <a class="el" href="expr_8h_source.html#l01386">CVC3::Expr::isStoredPredicate()</a>, <a class="el" href="expr_8h_source.html#l01370">CVC3::Expr::isTranslated()</a>, <a class="el" href="expr_8h_source.html#l01354">CVC3::Expr::isUserAssumption()</a>, <a class="el" href="expr_8h_source.html#l01374">CVC3::Expr::isUserRegisteredAtom()</a>, <a class="el" href="expr_8h_source.html#l01302">CVC3::Expr::isValidType()</a>, <a class="el" href="expr_8h_source.html#l01330">CVC3::Expr::isWellFounded()</a>, <a class="el" href="expr_8h_source.html#l01346">CVC3::Expr::notArrayNormalized()</a>, <a class="el" href="expr_8h_source.html#l01473">CVC3::Expr::setComputeTransClosure()</a>, <a class="el" href="expr_8h_source.html#l01478">CVC3::Expr::setContainsBoundVar()</a>, <a class="el" href="expr_8h_source.html#l01463">CVC3::Expr::setFinite()</a>, <a class="el" href="expr_8h_source.html#l01493">CVC3::Expr::setImpliedLiteral()</a>, <a class="el" href="expr_8h_source.html#l01508">CVC3::Expr::setIntAssumption()</a>, <a class="el" href="expr_8h_source.html#l01503">CVC3::Expr::setInUserAssumption()</a>, <a class="el" href="expr_8h_source.html#l01443">CVC3::Expr::setIsAtomicFlag()</a>, <a class="el" href="expr_8h_source.html#l01513">CVC3::Expr::setJustified()</a>, <a class="el" href="expr_8h_source.html#l01488">CVC3::Expr::setNotArrayNormalized()</a>, <a class="el" href="expr_8h_source.html#l01528">CVC3::Expr::setRegisteredAtom()</a>, <a class="el" href="expr_8h_source.html#l01457">CVC3::Expr::setRewriteNormal()</a>, <a class="el" href="expr_8h_source.html#l01533">CVC3::Expr::setSelected()</a>, <a class="el" href="expr_8h_source.html#l01538">CVC3::Expr::setStoredPredicate()</a>, <a class="el" href="expr_8h_source.html#l01450">CVC3::Expr::setTerminalsConstFlag()</a>, <a class="el" href="expr_8h_source.html#l01518">CVC3::Expr::setTranslated()</a>, <a class="el" href="expr_8h_source.html#l01498">CVC3::Expr::setUserAssumption()</a>, <a class="el" href="expr_8h_source.html#l01523">CVC3::Expr::setUserRegisteredAtom()</a>, <a class="el" href="expr_8h_source.html#l01483">CVC3::Expr::setUsesCC()</a>, <a class="el" href="expr_8h_source.html#l01438">CVC3::Expr::setValidType()</a>, <a class="el" href="expr_8h_source.html#l01468">CVC3::Expr::setWellFounded()</a>, <a class="el" href="expr_8h_source.html#l01342">CVC3::Expr::usesCC()</a>, <a class="el" href="expr_8h_source.html#l01306">CVC3::Expr::validIsAtomicFlag()</a>, and <a class="el" href="expr_8h_source.html#l01310">CVC3::Expr::validTerminalsConstFlag()</a>.</p>

</div>
</div>
<a class="anchor" id="a7316c58d0068e9392de07ed946765ccc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> CVC3::ExprValue::d_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Size of dag rooted at this expression. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00115">115</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01030">CVC3::Expr::getSize()</a>.</p>

</div>
</div>
<a class="anchor" id="a138cac22ce17733ee7dad8fa5f65f4ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned CVC3::ExprValue::d_flag</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Which child has the largest height. </p>
<p>Most distant expression we were simplified <em>from</em> Generic flag for marking expressions (e.g. in DAG traversal) </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00124">124</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr_8h_source.html#l01390">CVC3::Expr::getFlag()</a>, and <a class="el" href="expr_8h_source.html#l01395">CVC3::Expr::setFlag()</a>.</p>

</div>
</div>
<a class="anchor" id="a4984ceea8831c2c175530910174985b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int CVC3::ExprValue::d_kind</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The kind of the expression. In particular, it determines which subclass of <a class="el" href="classCVC3_1_1ExprValue.html" title="The base class for holding the actual data in expressions.">ExprValue</a> is used to store the expression. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00129">129</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8h_source.html#l00508">CVC3::ExprNodeTmp::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00833">CVC3::ExprSymbol::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00550">CVC3::ExprApplyTmp::ExprApplyTmp()</a>, <a class="el" href="expr_8h_source.html#l01168">CVC3::Expr::getKind()</a>, <a class="el" href="expr_8h_source.html#l01223">CVC3::Expr::isNull()</a>, and <a class="el" href="expr__value_8cpp_source.html#l00068">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="ae0b397b57244e8e5bb59cb95641b14d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a>* CVC3::ExprValue::d_em</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Our expr. manager. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00132">132</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="theorem_8cpp_source.html#l00422">CVC3::Theorem::clearAllFlags()</a>, <a class="el" href="theorem_8cpp_source.html#l00441">CVC3::Theorem::getCachedValue()</a>, <a class="el" href="expr_8h_source.html#l01156">CVC3::Expr::getEM()</a>, <a class="el" href="theorem_8cpp_source.html#l00464">CVC3::Theorem::getExpandFlag()</a>, <a class="el" href="theorem_8cpp_source.html#l00476">CVC3::Theorem::getLitFlag()</a>, <a class="el" href="expr_8h_source.html#l01175">CVC3::Expr::hasLastIndex()</a>, <a class="el" href="theorem_8cpp_source.html#l00416">CVC3::Theorem::isFlagged()</a>, <a class="el" href="theorem_8cpp_source.html#l00435">CVC3::Theorem::setCachedValue()</a>, <a class="el" href="theorem_8cpp_source.html#l00458">CVC3::Theorem::setExpandFlag()</a>, <a class="el" href="theorem_8cpp_source.html#l00429">CVC3::Theorem::setFlag()</a>, <a class="el" href="theorem_8cpp_source.html#l00470">CVC3::Theorem::setLitFlag()</a>, <a class="el" href="theorem_8cpp_source.html#l00219">CVC3::Theorem::withAssumptions()</a>, <a class="el" href="theorem_8cpp_source.html#l00214">CVC3::Theorem::withProof()</a>, and <a class="el" href="expr_8h_source.html#l00985">CVC3::Expr::~Expr()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7ecd8a88b735ceeedc18df079e640a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structHash_1_1hash.html">std::hash</a>&lt; char * &gt; CVC3::ExprValue::s_charHash</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return child with greatest height. </p>
<p>Get <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> simplified to obtain this expr Set <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> simplified to obtain this expr </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00182">182</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8h_source.html#l00794">CVC3::ExprVar::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00833">CVC3::ExprSymbol::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00873">CVC3::ExprBoundVar::computeHash()</a>, <a class="el" href="expr__value_8h_source.html#l00666">CVC3::ExprString::hash()</a>, and <a class="el" href="expr__value_8h_source.html#l00750">CVC3::ExprRational::hash()</a>.</p>

</div>
</div>
<a class="anchor" id="af4a750864a9d0e561e4b0ca924540198"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structHash_1_1hash.html">std::hash</a>&lt; long int &gt; CVC3::ExprValue::s_intHash</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00183">183</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>

<p>Referenced by <a class="el" href="expr__value_8h_source.html#l00833">CVC3::ExprSymbol::computeHash()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="expr__value_8h_source.html">expr_value.h</a></li>
<li><a class="el" href="expr__value_8cpp_source.html">expr_value.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 16 2013 13:25:17 for CVC3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>