<!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::DecisionEngineCaching 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 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="inherits.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_1DecisionEngineCaching.html">DecisionEngineCaching</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="classCVC3_1_1DecisionEngineCaching-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">CVC3::DecisionEngineCaching Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>></code></p> <p>Inherits <a class="el" href="classCVC3_1_1DecisionEngine.html">CVC3::DecisionEngine</a>.</p> <div class="dynheader"> Collaboration diagram for CVC3::DecisionEngineCaching:</div> <div class="dyncontent"> <div class="center"><img src="classCVC3_1_1DecisionEngineCaching__coll__graph.gif" border="0" usemap="#CVC3_1_1DecisionEngineCaching_coll__map" alt="Collaboration graph"/></div> <map name="CVC3_1_1DecisionEngineCaching_coll__map" id="CVC3_1_1DecisionEngineCaching_coll__map"> </map> </div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching_1_1CacheEntry.html">CacheEntry</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><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:a970eccb1f0a0bc89270207ff4cce6310"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a970eccb1f0a0bc89270207ff4cce6310">DecisionEngineCaching</a> (<a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> *core, <a class="el" href="classCVC3_1_1SearchImplBase.html">SearchImplBase</a> *se)</td></tr> <tr class="separator:a970eccb1f0a0bc89270207ff4cce6310"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a98a9c91688f6dfb4e5fb261d0c68d0e9"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a98a9c91688f6dfb4e5fb261d0c68d0e9">~DecisionEngineCaching</a> ()</td></tr> <tr class="separator:a98a9c91688f6dfb4e5fb261d0c68d0e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab20992d6e5f1d4d17a87823090452174"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#ab20992d6e5f1d4d17a87823090452174">findSplitter</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="memdesc:ab20992d6e5f1d4d17a87823090452174"><td class="mdescLeft"> </td><td class="mdescRight">Finds a splitter inside a non const expression. The expression passed in must not be a boolean constant, otherwise a DebugAssert will occur. <a href="#ab20992d6e5f1d4d17a87823090452174"></a><br/></td></tr> <tr class="separator:ab20992d6e5f1d4d17a87823090452174"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa38d7c2c1200d0690b53bd93b6167ff0"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#aa38d7c2c1200d0690b53bd93b6167ff0">goalSatisfied</a> ()</td></tr> <tr class="memdesc:aa38d7c2c1200d0690b53bd93b6167ff0"><td class="mdescLeft"> </td><td class="mdescRight">Search should call this when it derives 'false'. <a href="#aa38d7c2c1200d0690b53bd93b6167ff0"></a><br/></td></tr> <tr class="separator:aa38d7c2c1200d0690b53bd93b6167ff0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classCVC3_1_1DecisionEngine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCVC3_1_1DecisionEngine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classCVC3_1_1DecisionEngine.html">CVC3::DecisionEngine</a></td></tr> <tr class="memitem:gae0864ba9d167d33e9d1c1ed4416a76fd inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#gae0864ba9d167d33e9d1c1ed4416a76fd">DecisionEngine</a> (<a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> *core, <a class="el" href="classCVC3_1_1SearchImplBase.html">SearchImplBase</a> *se)</td></tr> <tr class="separator:gae0864ba9d167d33e9d1c1ed4416a76fd inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga55c5dee7b559b90e9d0c3fd8aa7c70b2 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga55c5dee7b559b90e9d0c3fd8aa7c70b2">~DecisionEngine</a> ()</td></tr> <tr class="separator:ga55c5dee7b559b90e9d0c3fd8aa7c70b2 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga03a83031c2361cce4e8ce952842973be inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga03a83031c2361cce4e8ce952842973be">pushDecision</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> splitter, bool whichCase=true)</td></tr> <tr class="memdesc:ga03a83031c2361cce4e8ce952842973be inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Push context and record the splitter. <a href="group__DE.html#ga03a83031c2361cce4e8ce952842973be"></a><br/></td></tr> <tr class="separator:ga03a83031c2361cce4e8ce952842973be inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga96c0e5c796d102da129381dd12595e8a inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga96c0e5c796d102da129381dd12595e8a">popDecision</a> ()</td></tr> <tr class="memdesc:ga96c0e5c796d102da129381dd12595e8a inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Pop last decision (and context) <a href="group__DE.html#ga96c0e5c796d102da129381dd12595e8a"></a><br/></td></tr> <tr class="separator:ga96c0e5c796d102da129381dd12595e8a inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga90d2e881c4cc004754708ee579682d85 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga90d2e881c4cc004754708ee579682d85">popTo</a> (int dl)</td></tr> <tr class="memdesc:ga90d2e881c4cc004754708ee579682d85 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Pop to given scope. <a href="group__DE.html#ga90d2e881c4cc004754708ee579682d85"></a><br/></td></tr> <tr class="separator:ga90d2e881c4cc004754708ee579682d85 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5b67011c3ea03780faf2071d5085a544 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga5b67011c3ea03780faf2071d5085a544">lastSplitter</a> ()</td></tr> <tr class="memdesc:ga5b67011c3ea03780faf2071d5085a544 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Return the last known splitter. <a href="group__DE.html#ga5b67011c3ea03780faf2071d5085a544"></a><br/></td></tr> <tr class="separator:ga5b67011c3ea03780faf2071d5085a544 inherit pub_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </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:a7d60b88900facdb762fcdf10fb86dcf7"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a7d60b88900facdb762fcdf10fb86dcf7">isBetter</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e1, const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e2)</td></tr> <tr class="separator:a7d60b88900facdb762fcdf10fb86dcf7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pro_methods_classCVC3_1_1DecisionEngine"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classCVC3_1_1DecisionEngine')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classCVC3_1_1DecisionEngine.html">CVC3::DecisionEngine</a></td></tr> <tr class="memitem:ga5974aad82f7244de1ce9a49969b2d57d inherit pro_methods_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1Expr.html">Expr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga5974aad82f7244de1ce9a49969b2d57d">findSplitterRec</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)</td></tr> <tr class="separator:ga5974aad82f7244de1ce9a49969b2d57d inherit pro_methods_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </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:a9b71f6f4593a70fe2d40b572744d96eb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a9b71f6f4593a70fe2d40b572744d96eb">d_startLevel</a></td></tr> <tr class="separator:a9b71f6f4593a70fe2d40b572744d96eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a27b987acf2858e20f195e7b5912742e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a27b987acf2858e20f195e7b5912742e6">d_bottomLevel</a></td></tr> <tr class="separator:a27b987acf2858e20f195e7b5912742e6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:affeba7cdfc5b14fae067fbb274bf579f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#affeba7cdfc5b14fae067fbb274bf579f">d_topLevel</a></td></tr> <tr class="separator:affeba7cdfc5b14fae067fbb274bf579f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d55f0ea25930ab071f662195fc29b90"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a0d55f0ea25930ab071f662195fc29b90">d_topLevelLock</a></td></tr> <tr class="separator:a0d55f0ea25930ab071f662195fc29b90"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7717dd694e65ac80dee77dbbd7f8335f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a7717dd694e65ac80dee77dbbd7f8335f">d_height</a></td></tr> <tr class="separator:a7717dd694e65ac80dee77dbbd7f8335f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a64eb67bd7e3d053ea8e0127b5f1feec3"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classCVC3_1_1DecisionEngineCaching_1_1CacheEntry.html">CacheEntry</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#a64eb67bd7e3d053ea8e0127b5f1feec3">d_cache</a></td></tr> <tr class="separator:a64eb67bd7e3d053ea8e0127b5f1feec3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aec70c965957a8048d1f69d859bba0a16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< int > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1DecisionEngineCaching.html#aec70c965957a8048d1f69d859bba0a16">d_index</a></td></tr> <tr class="separator:aec70c965957a8048d1f69d859bba0a16"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> Additional Inherited Members</h2></td></tr> <tr class="inherit_header pro_attribs_classCVC3_1_1DecisionEngine"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classCVC3_1_1DecisionEngine')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classCVC3_1_1DecisionEngine.html">CVC3::DecisionEngine</a></td></tr> <tr class="memitem:gaea6842e7db1a4cb203d8a6da726b52ed inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#gaea6842e7db1a4cb203d8a6da726b52ed">d_core</a></td></tr> <tr class="memdesc:gaea6842e7db1a4cb203d8a6da726b52ed inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to core theory. <a href="group__DE.html#gaea6842e7db1a4cb203d8a6da726b52ed"></a><br/></td></tr> <tr class="separator:gaea6842e7db1a4cb203d8a6da726b52ed inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga11d61d4a7d9938dd4c72ffe564dc9cb7 inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1SearchImplBase.html">SearchImplBase</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga11d61d4a7d9938dd4c72ffe564dc9cb7">d_se</a></td></tr> <tr class="memdesc:ga11d61d4a7d9938dd4c72ffe564dc9cb7 inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to search engine. <a href="group__DE.html#ga11d61d4a7d9938dd4c72ffe564dc9cb7"></a><br/></td></tr> <tr class="separator:ga11d61d4a7d9938dd4c72ffe564dc9cb7 inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf662ad88359f7ce623ffe35ebc6d74ef inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1CDList.html">CDList</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#gaf662ad88359f7ce623ffe35ebc6d74ef">d_splitters</a></td></tr> <tr class="memdesc:gaf662ad88359f7ce623ffe35ebc6d74ef inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">List of currently active splitters. <a href="group__DE.html#gaf662ad88359f7ce623ffe35ebc6d74ef"></a><br/></td></tr> <tr class="separator:gaf662ad88359f7ce623ffe35ebc6d74ef inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae9092ccb020b756b56556eb57a7af5ab inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1StatCounter.html">StatCounter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#gae9092ccb020b756b56556eb57a7af5ab">d_splitterCount</a></td></tr> <tr class="memdesc:gae9092ccb020b756b56556eb57a7af5ab inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Total number of splitters. <a href="group__DE.html#gae9092ccb020b756b56556eb57a7af5ab"></a><br/></td></tr> <tr class="separator:gae9092ccb020b756b56556eb57a7af5ab inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga922651f82bf5dec8e9f6d7211507a6fd inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#ga922651f82bf5dec8e9f6d7211507a6fd">d_bestByExpr</a></td></tr> <tr class="separator:ga922651f82bf5dec8e9f6d7211507a6fd inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab9a86f01371ea2ef051119f0e414727b inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DE.html#gab9a86f01371ea2ef051119f0e414727b">d_visited</a></td></tr> <tr class="memdesc:gab9a86f01371ea2ef051119f0e414727b inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="mdescLeft"> </td><td class="mdescRight">Visited cache for findSplitterRec traversal. <a href="group__DE.html#gab9a86f01371ea2ef051119f0e414727b"></a><br/></td></tr> <tr class="separator:gab9a86f01371ea2ef051119f0e414727b inherit pro_attribs_classCVC3_1_1DecisionEngine"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00024">24</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a970eccb1f0a0bc89270207ff4cce6310"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CVC3::DecisionEngineCaching::DecisionEngineCaching </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> * </td> <td class="paramname"><em>core</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCVC3_1_1SearchImplBase.html">SearchImplBase</a> * </td> <td class="paramname"><em>se</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a98a9c91688f6dfb4e5fb261d0c68d0e9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual CVC3::DecisionEngineCaching::~DecisionEngineCaching </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">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00050">50</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a7d60b88900facdb762fcdf10fb86dcf7"></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::DecisionEngineCaching::isBetter </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>e1</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>e2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></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>Implements <a class="el" href="group__DE.html#gaaa431eec1b04f02c8a7573d34616158b">CVC3::DecisionEngine</a>.</p> </div> </div> <a class="anchor" id="ab20992d6e5f1d4d17a87823090452174"></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_1Expr.html">Expr</a> CVC3::DecisionEngineCaching::findSplitter </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> & </td> <td class="paramname"><em>e</em></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>Finds a splitter inside a non const expression. The expression passed in must not be a boolean constant, otherwise a DebugAssert will occur. </p> <dl class="section return"><dt>Returns</dt><dd>Null <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a> if passed in a Null <a class="el" href="classCVC3_1_1Expr.html" title="Data structure of expressions in CVC3.">Expr</a>. </dd></dl> <p>Implements <a class="el" href="group__DE.html#ga6f191a7f4edb645e8df7c1f005a50bf8">CVC3::DecisionEngine</a>.</p> </div> </div> <a class="anchor" id="aa38d7c2c1200d0690b53bd93b6167ff0"></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::DecisionEngineCaching::goalSatisfied </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>Search should call this when it derives 'false'. </p> <p>Implements <a class="el" href="group__DE.html#ga7910d09d94bd27c02f53a3f7e0a9af00">CVC3::DecisionEngine</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a9b71f6f4593a70fe2d40b572744d96eb"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int CVC3::DecisionEngineCaching::d_startLevel</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00036">36</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="a27b987acf2858e20f195e7b5912742e6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int CVC3::DecisionEngineCaching::d_bottomLevel</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00037">37</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="affeba7cdfc5b14fae067fbb274bf579f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int CVC3::DecisionEngineCaching::d_topLevel</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00038">38</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="a0d55f0ea25930ab071f662195fc29b90"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool CVC3::DecisionEngineCaching::d_topLevelLock</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00039">39</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="a7717dd694e65ac80dee77dbbd7f8335f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int CVC3::DecisionEngineCaching::d_height</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00040">40</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="a64eb67bd7e3d053ea8e0127b5f1feec3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="classCVC3_1_1DecisionEngineCaching_1_1CacheEntry.html">CacheEntry</a>> CVC3::DecisionEngineCaching::d_cache</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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00042">42</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <a class="anchor" id="aec70c965957a8048d1f69d859bba0a16"></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_1ExprMap.html">ExprMap</a><int> CVC3::DecisionEngineCaching::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>Definition at line <a class="el" href="decision__engine__caching_8h_source.html#l00043">43</a> of file <a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="decision__engine__caching_8h_source.html">decision_engine_caching.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu May 16 2013 13:25:19 for CVC3 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.2 </small></address> </body> </html>