Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 583ffa4ba069126c3ba0bc565dc0485a > files > 293

cvc3-doc-2.4.1-1.fc15.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"/>
<title>CVC3: CVC3::ExprClosure Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CVC3&#160;<span id="projectnumber">2.4.1</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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="hierarchy.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_1ExprClosure.html">ExprClosure</a>      </li>
    </ul>
  </div>
</div>
<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="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">CVC3::ExprClosure Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CVC3::ExprClosure" --><!-- doxytag: inherits="CVC3::ExprValue" -->
<p>A "closure" expression which binds variables used in the "body". Used by LAMBDA and quantifiers.  
 <a href="classCVC3_1_1ExprClosure.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>
<div class="dynheader">
Inheritance diagram for CVC3::ExprClosure:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classCVC3_1_1ExprClosure.png" usemap="#CVC3::ExprClosure_map" alt=""/>
  <map id="CVC3::ExprClosure_map" name="CVC3::ExprClosure_map">
<area href="classCVC3_1_1ExprValue.html" title="The base class for holding the actual data in expressions." alt="CVC3::ExprValue" shape="rect" coords="0,0,122,24"/>
</map>
 </div></div>

<p><a href="classCVC3_1_1ExprClosure-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classCVC3_1_1ExprClosure.html#ad52fb63de9d007420ed477924eb456fd">ExprClosure</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, int kind, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;var, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx=0)
<li><a class="el" href="classCVC3_1_1ExprClosure.html#aad6b166e1599049c4c31dfefe8321bdd">ExprClosure</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, int kind, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx=0)
<li><a class="el" href="classCVC3_1_1ExprClosure.html#a9bf2a4d839ea73ac2822574159ef4dde">ExprClosure</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, int kind, const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;body, const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;trigs, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx=0)
<li>virtual <a class="el" href="classCVC3_1_1ExprClosure.html#a7a22d1afd2fb54a503632dbea90bb8fd">~ExprClosure</a> ()
<li>bool <a class="el" href="classCVC3_1_1ExprClosure.html#a5436ff96ddf0bc10741e5704e017b9e5">operator==</a> (const <a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> &amp;ev2) const 
<dl class="el"><dd 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="#a5436ff96ddf0bc10741e5704e017b9e5"></a><br/></dl><li>void * <a class="el" href="classCVC3_1_1ExprClosure.html#ad7761a9c1c4fd14141d0a708c056c822">operator new</a> (size_t size, <a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *mm)
<dl class="el"><dd class="mdescRight">Overload operator new.  <a href="#ad7761a9c1c4fd14141d0a708c056c822"></a><br/></dl><li>void <a class="el" href="classCVC3_1_1ExprClosure.html#a1034f4299eeaaec6f21838a8578efe03">operator delete</a> (void *pMem, <a class="el" href="classCVC3_1_1MemoryManager.html">MemoryManager</a> *mm)
<li>void <a class="el" href="classCVC3_1_1ExprClosure.html#a411df5da1aab06e9520c59b7f9f80500">operator delete</a> (void *)
<dl class="el"><dd class="mdescRight">Overload operator delete.  <a href="#a411df5da1aab06e9520c59b7f9f80500"></a><br/></dl><li>virtual bool <a class="el" href="classCVC3_1_1ExprClosure.html#a8ce919aadc4c527ad3133adb84eed089">isClosure</a> () const 
<dl class="el"><dd class="mdescRight">A LAMBDA-expression or a quantifier.  <a href="#a8ce919aadc4c527ad3133adb84eed089"></a><br/></dl></ul>
<h2><a name="pro-methods"></a>
Protected Member Functions</h2>
<ul>
<li>size_t <a class="el" href="classCVC3_1_1ExprClosure.html#a951f66c6e23cc85e9971d3635a5ca32f">computeHash</a> () const 
<dl class="el"><dd class="mdescRight">Non-caching hash function which actually computes the hash.  <a href="#a951f66c6e23cc85e9971d3635a5ca32f"></a><br/></dl><li><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> <a class="el" href="classCVC3_1_1ExprClosure.html#a79e25ba45878808a6bc469b59067af9e">computeSize</a> () const 
<dl class="el"><dd class="mdescRight">Non-caching size function which actually computes the size.  <a href="#a79e25ba45878808a6bc469b59067af9e"></a><br/></dl><li><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> * <a class="el" href="classCVC3_1_1ExprClosure.html#ab6e542c95c172b7808b5482f07b98ece">copy</a> (<a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> *em, <a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">ExprIndex</a> idx=0) const 
<dl class="el"><dd class="mdescRight">Make a clean copy of itself using the given memory manager.  <a href="#ab6e542c95c172b7808b5482f07b98ece"></a><br/></dl></ul>
<h2><a name="pri-methods"></a>
Private Member Functions</h2>
<ul>
<li>virtual size_t <a class="el" href="classCVC3_1_1ExprClosure.html#a4c77585f13ed65198748dcce7d63ebeb">getMMIndex</a> () const 
<dl class="el"><dd class="mdescRight">Tell <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> who we are.  <a href="#a4c77585f13ed65198748dcce7d63ebeb"></a><br/></dl><li>virtual const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp; <a class="el" href="classCVC3_1_1ExprClosure.html#ae620c1d3c479f7335e3018c28d744ba4">getVars</a> () const 
<li>virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp; <a class="el" href="classCVC3_1_1ExprClosure.html#ac53af27e93829100ce627c1396f2224d">getBody</a> () const 
<li>virtual void <a class="el" href="classCVC3_1_1ExprClosure.html#ac5a8b4bfa2be7fcca103aa006f54c7bd">setTriggers</a> (const std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp;triggers)
<li>virtual const std::vector<br class="typebreak"/>
&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; &amp; <a class="el" href="classCVC3_1_1ExprClosure.html#ab1e5706a15cd27dae0dc98a6408ab2da">getTriggers</a> () const 
</ul>
<h2><a name="pri-attribs"></a>
Private Attributes</h2>
<ul>
<li>std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; <a class="el" href="classCVC3_1_1ExprClosure.html#a1a780225d6b380bcb8e70b7aad6afcd9">d_vars</a>
<dl class="el"><dd class="mdescRight">Bound variables.  <a href="#a1a780225d6b380bcb8e70b7aad6afcd9"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1ExprClosure.html#a52ea7bc0c709276a526023bff75b22df">d_body</a>
<dl class="el"><dd class="mdescRight">The body of the quantifier/lambda.  <a href="#a52ea7bc0c709276a526023bff75b22df"></a><br/></dl><li>std::vector&lt; std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &gt; <a class="el" href="classCVC3_1_1ExprClosure.html#ae562a70aa45933ab897755e59586c5ea">d_manual_triggers</a>
<dl class="el"><dd class="mdescRight">Manual triggers. // added by yeting.  <a href="#ae562a70aa45933ab897755e59586c5ea"></a><br/></dl></ul>
<h2><a name="friends"></a>
Friends</h2>
<ul>
<li>class <a class="el" href="classCVC3_1_1ExprClosure.html#aa33520359f6cc0f51b476790d39ed869">Expr</a>
<li>class <a class="el" href="classCVC3_1_1ExprClosure.html#a53c627979d9a14928590601b9fd195c2">ExprManager</a>
</ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A "closure" expression which binds variables used in the "body". Used by LAMBDA and quantifiers. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00901">901</a> of file <a class="el" href="expr__value_8h_source.html">expr_value.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad52fb63de9d007420ed477924eb456fd"></a><!-- doxytag: member="CVC3::ExprClosure::ExprClosure" ref="ad52fb63de9d007420ed477924eb456fd" args="(ExprManager *em, int kind, const Expr &amp;var, const Expr &amp;body, ExprIndex idx=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ExprClosure::ExprClosure </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">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</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><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>References <a class="el" href="expr__value_8h_source.html#l00906">d_vars</a>.</p>

</div>
</div>
<a class="anchor" id="aad6b166e1599049c4c31dfefe8321bdd"></a><!-- doxytag: member="CVC3::ExprClosure::ExprClosure" ref="aad6b166e1599049c4c31dfefe8321bdd" args="(ExprManager *em, int kind, const std::vector&lt; Expr &gt; &amp;vars, const Expr &amp;body, ExprIndex idx=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ExprClosure::ExprClosure </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">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</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><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a9bf2a4d839ea73ac2822574159ef4dde"></a><!-- doxytag: member="CVC3::ExprClosure::ExprClosure" ref="a9bf2a4d839ea73ac2822574159ef4dde" args="(ExprManager *em, int kind, const std::vector&lt; Expr &gt; &amp;vars, const Expr &amp;body, const std::vector&lt; std::vector&lt; Expr &gt; &gt; &amp;trigs, ExprIndex idx=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CVC3::ExprClosure::ExprClosure </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">const std::vector&lt; <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>vars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &amp;&#160;</td>
          <td class="paramname"><em>body</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>trigs</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><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a7a22d1afd2fb54a503632dbea90bb8fd"></a><!-- doxytag: member="CVC3::ExprClosure::~ExprClosure" ref="a7a22d1afd2fb54a503632dbea90bb8fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual CVC3::ExprClosure::~ExprClosure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4c77585f13ed65198748dcce7d63ebeb"></a><!-- doxytag: member="CVC3::ExprClosure::getMMIndex" ref="a4c77585f13ed65198748dcce7d63ebeb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t CVC3::ExprClosure::getMMIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tell <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a> who we are. </p>

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#af4280c2539ba1dd4a089f0537f7ef3d4">CVC3::ExprValue</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00913">913</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#l00075">CVC3::EXPR_CLOSURE</a>.</p>

</div>
</div>
<a class="anchor" id="ae620c1d3c479f7335e3018c28d744ba4"></a><!-- doxytag: member="CVC3::ExprClosure::getVars" ref="ae620c1d3c479f7335e3018c28d744ba4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <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::ExprClosure::getVars </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#ac703cf03606d107e9a547d758ecc425b">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__value_8h_source.html#l00906">d_vars</a>.</p>

</div>
</div>
<a class="anchor" id="ac53af27e93829100ce627c1396f2224d"></a><!-- doxytag: member="CVC3::ExprClosure::getBody" ref="ac53af27e93829100ce627c1396f2224d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classCVC3_1_1Expr.html">Expr</a>&amp; CVC3::ExprClosure::getBody </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#ab9acd5e57727e14c4873a6ae45985903">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__value_8h_source.html#l00908">d_body</a>.</p>

</div>
</div>
<a class="anchor" id="ac5a8b4bfa2be7fcca103aa006f54c7bd"></a><!-- doxytag: member="CVC3::ExprClosure::setTriggers" ref="ac5a8b4bfa2be7fcca103aa006f54c7bd" args="(const std::vector&lt; std::vector&lt; Expr &gt; &gt; &amp;triggers)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CVC3::ExprClosure::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><code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a25993f35f99548aa2b3e1a52261de160">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__value_8h_source.html#l00911">d_manual_triggers</a>.</p>

</div>
</div>
<a class="anchor" id="ab1e5706a15cd27dae0dc98a6408ab2da"></a><!-- doxytag: member="CVC3::ExprClosure::getTriggers" ref="ab1e5706a15cd27dae0dc98a6408ab2da" args="() const " -->
<div class="memitem">
<div class="memproto">
      <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::ExprClosure::getTriggers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a9e4c7523bb4dfbf80ad0157fe8196c44">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__value_8h_source.html#l00911">d_manual_triggers</a>.</p>

</div>
</div>
<a class="anchor" id="a951f66c6e23cc85e9971d3635a5ca32f"></a><!-- doxytag: member="CVC3::ExprClosure::computeHash" ref="a951f66c6e23cc85e9971d3635a5ca32f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CVC3::ExprClosure::computeHash </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual]</code></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 from <a class="el" href="classCVC3_1_1ExprValue.html#aff96f4613c00f5094149c1f59639d310">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="classCVC3_1_1Unsigned.html#aae300bddeae05aa96540151f6ac503be">CVC3::Unsigned::hash()</a>, and <a class="el" href="expr__value_8h_source.html#l00050">PRIME</a>.</p>

</div>
</div>
<a class="anchor" id="a79e25ba45878808a6bc469b59067af9e"></a><!-- doxytag: member="CVC3::ExprClosure::computeSize" ref="a79e25ba45878808a6bc469b59067af9e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Unsigned.html">Unsigned</a> CVC3::ExprClosure::computeSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, protected, virtual]</code></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 from <a class="el" href="classCVC3_1_1ExprValue.html#ab911430c6cbd72c759e7bcb8a4889051">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__value_8h_source.html#l00908">d_body</a>, <a class="el" href="expr_8h_source.html#l00197">CVC3::Expr::d_expr</a>, and <a class="el" href="expr__value_8h_source.html#l00162">CVC3::ExprValue::getSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6e542c95c172b7808b5482f07b98ece"></a><!-- doxytag: member="CVC3::ExprClosure::copy" ref="ab6e542c95c172b7808b5482f07b98ece" args="(ExprManager *em, ExprIndex idx=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1ExprValue.html">ExprValue</a> * CVC3::ExprClosure::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> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make a clean copy of itself using the given memory manager. </p>

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a2e152d0473e881c1eb47f5baeb546525">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="expr__manager_8h_source.html#l00334">CVC3::ExprManager::getMM()</a>.</p>

</div>
</div>
<a class="anchor" id="a5436ff96ddf0bc10741e5704e017b9e5"></a><!-- doxytag: member="CVC3::ExprClosure::operator==" ref="a5436ff96ddf0bc10741e5704e017b9e5" args="(const ExprValue &amp;ev2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CVC3::ExprClosure::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<code> [virtual]</code></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 from <a class="el" href="classCVC3_1_1ExprValue.html#abdbf51b85cc77255679ac90af34a865f">CVC3::ExprValue</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8cpp_source.html#l00269">269</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#l00364">CVC3::ExprValue::getBody()</a>, <a class="el" href="expr__value_8h_source.html#l00250">CVC3::ExprValue::getKind()</a>, <a class="el" href="expr__value_8h_source.html#l00263">CVC3::ExprValue::getMMIndex()</a>, and <a class="el" href="expr__value_8h_source.html#l00358">CVC3::ExprValue::getVars()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7761a9c1c4fd14141d0a708c056c822"></a><!-- doxytag: member="CVC3::ExprClosure::operator new" ref="ad7761a9c1c4fd14141d0a708c056c822" args="(size_t size, MemoryManager *mm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CVC3::ExprClosure::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><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Overload operator new. </p>

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a6f7cb3318ee9743e6e47b30780d393f9">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="classCVC3_1_1MemoryManager.html#a3db7efbc4b956bd423a73e1157d70ce0">CVC3::MemoryManager::newData()</a>.</p>

</div>
</div>
<a class="anchor" id="a1034f4299eeaaec6f21838a8578efe03"></a><!-- doxytag: member="CVC3::ExprClosure::operator delete" ref="a1034f4299eeaaec6f21838a8578efe03" args="(void *pMem, MemoryManager *mm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprClosure::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><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a2b1b3c8574ac40f50f4498e522c3618d">CVC3::ExprValue</a>.</p>

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

<p>References <a class="el" href="classCVC3_1_1MemoryManager.html#ad29fac88d3a07566d9a8f9dc8d8e059c">CVC3::MemoryManager::deleteData()</a>.</p>

</div>
</div>
<a class="anchor" id="a411df5da1aab06e9520c59b7f9f80500"></a><!-- doxytag: member="CVC3::ExprClosure::operator delete" ref="a411df5da1aab06e9520c59b7f9f80500" args="(void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CVC3::ExprClosure::operator delete </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Overload operator delete. </p>

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a2283fde20b269f1f98ab0eb43c3dddd6">CVC3::ExprValue</a>.</p>

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

</div>
</div>
<a class="anchor" id="a8ce919aadc4c527ad3133adb84eed089"></a><!-- doxytag: member="CVC3::ExprClosure::isClosure" ref="a8ce919aadc4c527ad3133adb84eed089" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool CVC3::ExprClosure::isClosure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a5c78d2e54f53d66f546e32cb865a34c1">CVC3::ExprValue</a>.</p>

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

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="aa33520359f6cc0f51b476790d39ed869"></a><!-- doxytag: member="CVC3::ExprClosure::Expr" ref="aa33520359f6cc0f51b476790d39ed869" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1Expr.html">Expr</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#aa33520359f6cc0f51b476790d39ed869">CVC3::ExprValue</a>.</p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00902">902</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><!-- doxytag: member="CVC3::ExprClosure::ExprManager" ref="a53c627979d9a14928590601b9fd195c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCVC3_1_1ExprManager.html">ExprManager</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classCVC3_1_1ExprValue.html#a53c627979d9a14928590601b9fd195c2">CVC3::ExprValue</a>.</p>

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

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1a780225d6b380bcb8e70b7aad6afcd9"></a><!-- doxytag: member="CVC3::ExprClosure::d_vars" ref="a1a780225d6b380bcb8e70b7aad6afcd9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; <a class="el" href="classCVC3_1_1ExprClosure.html#a1a780225d6b380bcb8e70b7aad6afcd9">CVC3::ExprClosure::d_vars</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Bound variables. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00906">906</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#l00929">ExprClosure()</a>, and <a class="el" href="expr__value_8h_source.html#l00915">getVars()</a>.</p>

</div>
</div>
<a class="anchor" id="a52ea7bc0c709276a526023bff75b22df"></a><!-- doxytag: member="CVC3::ExprClosure::d_body" ref="a52ea7bc0c709276a526023bff75b22df" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1ExprClosure.html#a52ea7bc0c709276a526023bff75b22df">CVC3::ExprClosure::d_body</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The body of the quantifier/lambda. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00908">908</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">computeSize()</a>, and <a class="el" href="expr__value_8h_source.html#l00916">getBody()</a>.</p>

</div>
</div>
<a class="anchor" id="ae562a70aa45933ab897755e59586c5ea"></a><!-- doxytag: member="CVC3::ExprClosure::d_manual_triggers" ref="ae562a70aa45933ab897755e59586c5ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::vector&lt;<a class="el" href="classCVC3_1_1Expr.html">Expr</a>&gt; &gt; <a class="el" href="classCVC3_1_1ExprClosure.html#ae562a70aa45933ab897755e59586c5ea">CVC3::ExprClosure::d_manual_triggers</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Manual triggers. // added by yeting. </p>

<p>Definition at line <a class="el" href="expr__value_8h_source.html#l00911">911</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#l00918">getTriggers()</a>, and <a class="el" href="expr__value_8h_source.html#l00917">setTriggers()</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>
<hr class="footer"/><address class="footer"><small>Generated on Wed Sep 7 2011 for CVC3 by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>