<!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::DecisionEngine 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_1DecisionEngine.html">DecisionEngine</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="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">CVC3::DecisionEngine Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="CVC3::DecisionEngine" --> <p><code>#include <<a class="el" href="decision__engine_8h_source.html">decision_engine.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CVC3::DecisionEngine:</div> <div class="dyncontent"> <div class="center"> <img src="classCVC3_1_1DecisionEngine.png" usemap="#CVC3::DecisionEngine_map" alt=""/> <map id="CVC3::DecisionEngine_map" name="CVC3::DecisionEngine_map"> <area href="classCVC3_1_1DecisionEngineCaching.html" alt="CVC3::DecisionEngineCaching" shape="rect" coords="0,56,187,80"/> <area href="classCVC3_1_1DecisionEngineDFS.html" title="Decision Engine for use with the Search EngineAuthor: Clark Barrett." alt="CVC3::DecisionEngineDFS" shape="rect" coords="197,56,384,80"/> <area href="classCVC3_1_1DecisionEngineMBTF.html" alt="CVC3::DecisionEngineMBTF" shape="rect" coords="394,56,581,80"/> </map> </div></div> <p><a href="classCVC3_1_1DecisionEngine-members.html">List of all members.</a></p> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><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) <li>virtual <a class="el" href="group__DE.html#ga55c5dee7b559b90e9d0c3fd8aa7c70b2">~DecisionEngine</a> () <li>virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="group__DE.html#ga6f191a7f4edb645e8df7c1f005a50bf8">findSplitter</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e)=0 <dl class="el"><dd 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="group__DE.html#ga6f191a7f4edb645e8df7c1f005a50bf8"></a><br/></dl><li>void <a class="el" href="group__DE.html#ga03a83031c2361cce4e8ce952842973be">pushDecision</a> (<a class="el" href="classCVC3_1_1Expr.html">Expr</a> splitter, bool whichCase=true) <dl class="el"><dd class="mdescRight">Push context and record the splitter. <a href="group__DE.html#ga03a83031c2361cce4e8ce952842973be"></a><br/></dl><li>void <a class="el" href="group__DE.html#ga96c0e5c796d102da129381dd12595e8a">popDecision</a> () <dl class="el"><dd class="mdescRight">Pop last decision (and context) <a href="group__DE.html#ga96c0e5c796d102da129381dd12595e8a"></a><br/></dl><li>void <a class="el" href="group__DE.html#ga90d2e881c4cc004754708ee579682d85">popTo</a> (int dl) <dl class="el"><dd class="mdescRight">Pop to given scope. <a href="group__DE.html#ga90d2e881c4cc004754708ee579682d85"></a><br/></dl><li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="group__DE.html#ga5b67011c3ea03780faf2071d5085a544">lastSplitter</a> () <dl class="el"><dd class="mdescRight">Return the last known splitter. <a href="group__DE.html#ga5b67011c3ea03780faf2071d5085a544"></a><br/></dl><li>virtual void <a class="el" href="group__DE.html#ga7910d09d94bd27c02f53a3f7e0a9af00">goalSatisfied</a> ()=0 <dl class="el"><dd class="mdescRight">Search should call this when it derives 'false'. <a href="group__DE.html#ga7910d09d94bd27c02f53a3f7e0a9af00"></a><br/></dl></ul> <h2><a name="pro-methods"></a> Protected Member Functions</h2> <ul> <li><a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="group__DE.html#ga5974aad82f7244de1ce9a49969b2d57d">findSplitterRec</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e) <li>virtual bool <a class="el" href="group__DE.html#gaaa431eec1b04f02c8a7573d34616158b">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)=0 </ul> <h2><a name="pro-attribs"></a> Protected Attributes</h2> <ul> <li><a class="el" href="classCVC3_1_1TheoryCore.html">TheoryCore</a> * <a class="el" href="group__DE.html#gaea6842e7db1a4cb203d8a6da726b52ed">d_core</a> <dl class="el"><dd class="mdescRight">Pointer to core theory. <a href="group__DE.html#gaea6842e7db1a4cb203d8a6da726b52ed"></a><br/></dl><li><a class="el" href="classCVC3_1_1SearchImplBase.html">SearchImplBase</a> * <a class="el" href="group__DE.html#ga11d61d4a7d9938dd4c72ffe564dc9cb7">d_se</a> <dl class="el"><dd class="mdescRight">Pointer to search engine. <a href="group__DE.html#ga11d61d4a7d9938dd4c72ffe564dc9cb7"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDList.html">CDList</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > <a class="el" href="group__DE.html#gaf662ad88359f7ce623ffe35ebc6d74ef">d_splitters</a> <dl class="el"><dd class="mdescRight">List of currently active splitters. <a href="group__DE.html#gaf662ad88359f7ce623ffe35ebc6d74ef"></a><br/></dl><li><a class="el" href="classCVC3_1_1StatCounter.html">StatCounter</a> <a class="el" href="group__DE.html#gae9092ccb020b756b56556eb57a7af5ab">d_splitterCount</a> <dl class="el"><dd class="mdescRight">Total number of splitters. <a href="group__DE.html#gae9092ccb020b756b56556eb57a7af5ab"></a><br/></dl><li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > <a class="el" href="group__DE.html#ga922651f82bf5dec8e9f6d7211507a6fd">d_bestByExpr</a> <li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< <a class="el" href="classCVC3_1_1Expr.html">Expr</a> > <a class="el" href="group__DE.html#gab9a86f01371ea2ef051119f0e414727b">d_visited</a> <dl class="el"><dd class="mdescRight">Visited cache for findSplitterRec traversal. <a href="group__DE.html#gab9a86f01371ea2ef051119f0e414727b"></a><br/></dl></ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"> <p>Definition at line <a class="el" href="decision__engine_8h_source.html#l00029">29</a> of file <a class="el" href="decision__engine_8h_source.html">decision_engine.h</a>.</p> </div><hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="decision__engine_8h_source.html">decision_engine.h</a></li> <li><a class="el" href="decision__engine_8cpp_source.html">decision_engine.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>