Česky
Kamil Dudka

Fast SAT Solver (C++, GAlib)

File detail

Name:DownloadclassFastSatSolver_1_1FormulaContainer.html [Download]
Location: fss > doc > api > html
Size:11.9 KB
Last modification:2022-09-09 13:06

Source code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Fast SAT Solver: FormulaContainer Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</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 class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="namespaceFastSatSolver.html">FastSatSolver</a>::<a class="el" href="classFastSatSolver_1_1FormulaContainer.html">FormulaContainer</a></div>
<h1>FormulaContainer Class Reference<br>
<small>
[<a class="el" href="group__SatProblem.html">SAT Problem</a>]</small>
</h1><!-- doxytag: class="FastSatSolver::FormulaContainer" --><code>#include &lt;<a class="el" href="SatProblem_8h-source.html">SatProblem.h</a>&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for FormulaContainer:</div>
<div class="dynsection">
<p><center><img src="classFastSatSolver_1_1FormulaContainer__coll__graph.png" border="0" usemap="#FormulaContainer__coll__map" alt="Collaboration graph"></center>
<map name="FormulaContainer__coll__map">
<area shape="rect" href="structFastSatSolver_1_1FormulaContainer_1_1Private.html" title="Private" alt="" coords="41,5,111,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
<p>
<a href="classFastSatSolver_1_1FormulaContainer-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Container for evaluable formulas. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The only one known implementation is now <a class="el" href="classFastSatSolver_1_1InterpretedFormula.html" title="Interpreted formula implementation.">InterpretedFormula</a>, but there is no restriction to this class. It can be any class implementing <a class="el" href="classFastSatSolver_1_1IFormulaEvaluator.html" title="Evaluable formula&#39;s interface.">IFormulaEvaluator</a> interface. </dd></dl>
 
<p>Definition at line <a class="el" href="SatProblem_8h-source.html#l00079">79</a> of file <a class="el" href="SatProblem_8h-source.html">SatProblem.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html#68821237779770a79d4e2010928b7897">FormulaContainer</a> ()</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html#0fa72f6267c27fdd75c5251fd51757ec">~FormulaContainer</a> ()</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html#ab0d4bbd0884d04dbe281cc2b9d21206">getLength</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns count of formulas managed by container. </dd></dl>
 <a href="#ab0d4bbd0884d04dbe281cc2b9d21206"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html#b7e70416f171d0356ab2437d92577906">evalAll</a> (<a class="el" href="classFastSatSolver_1_1ISatItem.html">ISatItem</a> *data)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate all formulas in container using given data and return satisfaction ratio.  <a href="#b7e70416f171d0356ab2437d92577906"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html#845ab97b571220fabd160567843909a9">addFormula</a> (<a class="el" href="classFastSatSolver_1_1IFormulaEvaluator.html">IFormulaEvaluator</a> *formula)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add formula to container.  <a href="#845ab97b571220fabd160567843909a9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFastSatSolver_1_1FormulaContainer_1_1Private.html">Private</a></td></tr>
 
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="68821237779770a79d4e2010928b7897"></a><!-- doxytag: member="FastSatSolver::FormulaContainer::FormulaContainer" ref="68821237779770a79d4e2010928b7897" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFastSatSolver_1_1FormulaContainer.html">FormulaContainer</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
 
<p>Definition at line <a class="el" href="SatProblem_8cpp-source.html#l00245">245</a> of file <a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="0fa72f6267c27fdd75c5251fd51757ec"></a><!-- doxytag: member="FastSatSolver::FormulaContainer::~FormulaContainer" ref="0fa72f6267c27fdd75c5251fd51757ec" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classFastSatSolver_1_1FormulaContainer.html">FormulaContainer</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
 
<p>Definition at line <a class="el" href="SatProblem_8cpp-source.html#l00249">249</a> of file <a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a>.</p>
 
<p>References <a class="el" href="SatProblem_8cpp-source.html#l00243">FormulaContainer::Private::container</a>.</p>
 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ab0d4bbd0884d04dbe281cc2b9d21206"></a><!-- doxytag: member="FastSatSolver::FormulaContainer::getLength" ref="ab0d4bbd0884d04dbe281cc2b9d21206" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getLength           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns count of formulas managed by container. </dd></dl>
 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>int </dd></dl>
 
<p>Definition at line <a class="el" href="SatProblem_8cpp-source.html#l00260">260</a> of file <a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a>.</p>
 
<p>References <a class="el" href="SatProblem_8cpp-source.html#l00243">FormulaContainer::Private::container</a>.</p>
 
<p>Referenced by <a class="el" href="SatProblem_8cpp-source.html#l00182">SatProblem::getFormulasCount()</a>, and <a class="el" href="SatProblem_8cpp-source.html#l00088">SatProblem::Private::parseFile()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="b7e70416f171d0356ab2437d92577906"></a><!-- doxytag: member="FastSatSolver::FormulaContainer::evalAll" ref="b7e70416f171d0356ab2437d92577906" args="(ISatItem *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int evalAll           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFastSatSolver_1_1ISatItem.html">ISatItem</a> *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Evaluate all formulas in container using given data and return satisfaction ratio. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Evaluation data to use for evaluation. Consider <a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">FastSatSolver::ISatItem</a> interface for detail. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns count of satisfaced formulas.<p>
int </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
 
<p>Definition at line <a class="el" href="SatProblem_8cpp-source.html#l00269">269</a> of file <a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a>.</p>
 
<p>References <a class="el" href="SatProblem_8cpp-source.html#l00243">FormulaContainer::Private::container</a>, and <a class="el" href="classFastSatSolver_1_1IFormulaEvaluator.html#fb7ef8f1f92d2c0f51e326e05b7b70f4">IFormulaEvaluator::eval()</a>.</p>
 
<p>Referenced by <a class="el" href="SatProblem_8cpp-source.html#l00191">SatProblem::getSatsCount()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="845ab97b571220fabd160567843909a9"></a><!-- doxytag: member="FastSatSolver::FormulaContainer::addFormula" ref="845ab97b571220fabd160567843909a9" args="(IFormulaEvaluator *formula)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void addFormula           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFastSatSolver_1_1IFormulaEvaluator.html">IFormulaEvaluator</a> *&nbsp;</td>
          <td class="paramname"> <em>formula</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Add formula to container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>formula</em>&nbsp;</td><td>Formula object to add.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>formula</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
 
<p>Definition at line <a class="el" href="SatProblem_8cpp-source.html#l00284">284</a> of file <a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a>.</p>
 
<p>References <a class="el" href="SatProblem_8cpp-source.html#l00243">FormulaContainer::Private::container</a>.</p>
 
<p>Referenced by <a class="el" href="Scanner_8cpp-source.html#l00181">ScannerFormulaHandler::readNext()</a>.</p>
 
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="SatProblem_8h-source.html">SatProblem.h</a><li><a class="el" href="SatProblem_8cpp-source.html">SatProblem.cpp</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 5 22:30:22 2008 for Fast SAT Solver by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>