<!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 <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <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 <<a class="el" href="expr__value_8h_source.html">expr_value.h</a>></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> &var, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > &vars, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &body, const std::vector< std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > &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> &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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & <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> & <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< std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > &triggers) <li>virtual const std::vector<br class="typebreak"/> < std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > & <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< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > <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< std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > <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 & Destructor Documentation</h2> <a class="anchor" id="ad52fb63de9d007420ed477924eb456fd"></a><!-- doxytag: member="CVC3::ExprClosure::ExprClosure" ref="ad52fb63de9d007420ed477924eb456fd" args="(ExprManager *em, int kind, const Expr &var, const Expr &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> * </td> <td class="paramname"><em>em</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </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> & </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> & </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> </td> <td class="paramname"><em>idx</em> = <code>0</code> </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< Expr > &vars, const Expr &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> * </td> <td class="paramname"><em>em</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>kind</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </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> & </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> </td> <td class="paramname"><em>idx</em> = <code>0</code> </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< Expr > &vars, const Expr &body, const std::vector< std::vector< Expr > > &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> * </td> <td class="paramname"><em>em</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>kind</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > & </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> & </td> <td class="paramname"><em>body</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::vector< std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > & </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> </td> <td class="paramname"><em>idx</em> = <code>0</code> </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<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>>& 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>& 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< std::vector< Expr > > &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< std::vector< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > > & </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<std::vector<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> >& 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> * </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> </td> <td class="paramname"><em>idx</em> = <code>0</code> </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 &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> & </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 </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> * </td> <td class="paramname"><em>mm</em> </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 * </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> * </td> <td class="paramname"><em>mm</em> </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 * </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<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> <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<std::vector<<a class="el" href="classCVC3_1_1Expr.html">Expr</a>> > <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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>