<!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::DecisionEngineMBTF 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_1DecisionEngineMBTF.html">DecisionEngineMBTF</a> </li> </ul> </div> </div> <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> </div> <div class="headertitle"> <div class="title">CVC3::DecisionEngineMBTF Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="CVC3::DecisionEngineMBTF" --><!-- doxytag: inherits="CVC3::DecisionEngine" --> <p><code>#include <<a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CVC3::DecisionEngineMBTF:</div> <div class="dyncontent"> <div class="center"> <img src="classCVC3_1_1DecisionEngineMBTF.png" usemap="#CVC3::DecisionEngineMBTF_map" alt=""/> <map id="CVC3::DecisionEngineMBTF_map" name="CVC3::DecisionEngineMBTF_map"> <area href="classCVC3_1_1DecisionEngine.html" alt="CVC3::DecisionEngine" shape="rect" coords="0,0,174,24"/> </map> </div></div> <p><a href="classCVC3_1_1DecisionEngineMBTF-members.html">List of all members.</a></p> <h2><a name="nested-classes"></a> Classes</h2> <ul> <li>class <a class="el" href="classCVC3_1_1DecisionEngineMBTF_1_1CacheEntry.html">CacheEntry</a> </ul> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#af6fae5401963aed011f1f78430342ebf">DecisionEngineMBTF</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="classCVC3_1_1DecisionEngineMBTF.html#a9de9e6bb6b27dcae2df0c9102d0434b0">~DecisionEngineMBTF</a> () <li>virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#aaff19d26516fceaeed252719d9128b9d">findSplitter</a> (const <a class="el" href="classCVC3_1_1Expr.html">Expr</a> &e) <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="#aaff19d26516fceaeed252719d9128b9d"></a><br/></dl><li>virtual void <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#af36387647113ec7f82897af961ab60d4">goalSatisfied</a> () <dl class="el"><dd class="mdescRight">Search should call this when it derives 'false'. <a href="#af36387647113ec7f82897af961ab60d4"></a><br/></dl></ul> <h2><a name="pro-methods"></a> Protected Member Functions</h2> <ul> <li>virtual bool <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#aabd84168f73f0e1957b2af66fc9a1fd3">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) </ul> <h2><a name="pri-attribs"></a> Private Attributes</h2> <ul> <li>int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a44bf8df8d96f318ea782aa511e809409">d_startLevel</a> <li>int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ac9504b496b5c9783c3e525b354ce5e98">d_bottomLevel</a> <li>int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ae8df69a245418aefb6d7a61109655ac4">d_topLevel</a> <li>bool <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a9547b4a955e959e1e65a046a4258ccf6">d_topLevelLock</a> <li>int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ae704dbc69d41e1802df821d5b2032181">d_height</a> <li>std::vector< <a class="el" href="classCVC3_1_1DecisionEngineMBTF_1_1CacheEntry.html">CacheEntry</a> > <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a98e5619461d69c33e3686abb01671cc3">d_cache</a> <li><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a>< int > <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a7c48cc4da5aca5e2a8f5307468aa1ada">d_index</a> </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__mbtf_8h_source.html#l00024">24</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="af6fae5401963aed011f1f78430342ebf"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::DecisionEngineMBTF" ref="af6fae5401963aed011f1f78430342ebf" args="(TheoryCore *core, SearchImplBase *se)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CVC3::DecisionEngineMBTF::DecisionEngineMBTF </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="a9de9e6bb6b27dcae2df0c9102d0434b0"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::~DecisionEngineMBTF" ref="a9de9e6bb6b27dcae2df0c9102d0434b0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual CVC3::DecisionEngineMBTF::~DecisionEngineMBTF </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="decision__engine__mbtf_8h_source.html#l00050">50</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aabd84168f73f0e1957b2af66fc9a1fd3"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::isBetter" ref="aabd84168f73f0e1957b2af66fc9a1fd3" args="(const Expr &e1, const Expr &e2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool CVC3::DecisionEngineMBTF::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><code> [protected, virtual]</code></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="aaff19d26516fceaeed252719d9128b9d"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::findSplitter" ref="aaff19d26516fceaeed252719d9128b9d" args="(const Expr &e)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCVC3_1_1Expr.html">Expr</a> CVC3::DecisionEngineMBTF::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><code> [virtual]</code></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="return"><dt><b>Returns:</b></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="af36387647113ec7f82897af961ab60d4"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::goalSatisfied" ref="af36387647113ec7f82897af961ab60d4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CVC3::DecisionEngineMBTF::goalSatisfied </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></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> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a44bf8df8d96f318ea782aa511e809409"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_startLevel" ref="a44bf8df8d96f318ea782aa511e809409" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a44bf8df8d96f318ea782aa511e809409">CVC3::DecisionEngineMBTF::d_startLevel</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00036">36</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="ac9504b496b5c9783c3e525b354ce5e98"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_bottomLevel" ref="ac9504b496b5c9783c3e525b354ce5e98" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ac9504b496b5c9783c3e525b354ce5e98">CVC3::DecisionEngineMBTF::d_bottomLevel</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00037">37</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="ae8df69a245418aefb6d7a61109655ac4"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_topLevel" ref="ae8df69a245418aefb6d7a61109655ac4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ae8df69a245418aefb6d7a61109655ac4">CVC3::DecisionEngineMBTF::d_topLevel</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00038">38</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="a9547b4a955e959e1e65a046a4258ccf6"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_topLevelLock" ref="a9547b4a955e959e1e65a046a4258ccf6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a9547b4a955e959e1e65a046a4258ccf6">CVC3::DecisionEngineMBTF::d_topLevelLock</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00039">39</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="ae704dbc69d41e1802df821d5b2032181"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_height" ref="ae704dbc69d41e1802df821d5b2032181" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#ae704dbc69d41e1802df821d5b2032181">CVC3::DecisionEngineMBTF::d_height</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00040">40</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="a98e5619461d69c33e3686abb01671cc3"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_cache" ref="a98e5619461d69c33e3686abb01671cc3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="classCVC3_1_1DecisionEngineMBTF_1_1CacheEntry.html">CacheEntry</a>> <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a98e5619461d69c33e3686abb01671cc3">CVC3::DecisionEngineMBTF::d_cache</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00042">42</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.h</a>.</p> </div> </div> <a class="anchor" id="a7c48cc4da5aca5e2a8f5307468aa1ada"></a><!-- doxytag: member="CVC3::DecisionEngineMBTF::d_index" ref="a7c48cc4da5aca5e2a8f5307468aa1ada" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1ExprMap.html">ExprMap</a><int> <a class="el" href="classCVC3_1_1DecisionEngineMBTF.html#a7c48cc4da5aca5e2a8f5307468aa1ada">CVC3::DecisionEngineMBTF::d_index</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decision__engine__mbtf_8h_source.html#l00043">43</a> of file <a class="el" href="decision__engine__mbtf_8h_source.html">decision_engine_mbtf.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__mbtf_8h_source.html">decision_engine_mbtf.h</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>