English
Kamil Dudka

Fast SAT Solver (C++, GAlib)

Detail souboru

Jméno:StáhnoutclassFastSatSolver_1_1GaSatSolver.html [Stáhnout]
Umístění: fss > doc > api > html
Velikost:45.3 KB
Poslední změna:2022-09-09 13:06

Zdrojový kód

<!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: GaSatSolver 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_1GaSatSolver.html">GaSatSolver</a></div>
<h1>GaSatSolver Class Reference<br>
<small>
[<a class="el" href="group__SatSolver.html">SAT Solver</a>]</small>
</h1><!-- doxytag: class="FastSatSolver::GaSatSolver" --><!-- doxytag: inherits="FastSatSolver::AbstractSatSolver" --><code>#include &lt;<a class="el" href="GaSatSolver_8h-source.html">GaSatSolver.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for GaSatSolver:</div>
<div class="dynsection">
<p><center><img src="classFastSatSolver_1_1GaSatSolver__inherit__graph.png" border="0" usemap="#GaSatSolver__inherit__map" alt="Inheritance graph"></center>
<map name="GaSatSolver__inherit__map">
<area shape="rect" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class." alt="" coords="132,304,276,331"><area shape="rect" href="classFastSatSolver_1_1AbstractProcessWatched.html" title="Multi&#45;step process with time&#45;watch extension." alt="" coords="109,229,299,256"><area shape="rect" href="classFastSatSolver_1_1AbstractProcess.html" title="Base class of simple multi&#45;step process." alt="" coords="69,155,200,181"><area shape="rect" href="classFastSatSolver_1_1AbstractSubject.html" title="Simple subject&#39;s base class." alt="" coords="5,80,136,107"><area shape="rect" href="classFastSatSolver_1_1ISubject.html" title="Simple observer&#39;s subject base class." alt="" coords="33,5,108,32"><area shape="rect" href="classFastSatSolver_1_1IProcess.html" title="Continous process interface." alt="" coords="160,80,237,107"><area shape="rect" href="classFastSatSolver_1_1IStopWatch.html" title="Interface of time&#45;watchable activity." alt="" coords="224,155,323,181"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for GaSatSolver:</div>
<div class="dynsection">
<p><center><img src="classFastSatSolver_1_1GaSatSolver__coll__graph.png" border="0" usemap="#GaSatSolver__coll__map" alt="Collaboration graph"></center>
<map name="GaSatSolver__coll__map">
<area shape="rect" href="structFastSatSolver_1_1GaSatSolver_1_1Private.html" title="Private" alt="" coords="272,549,341,576"><area shape="rect" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class." alt="" coords="360,368,504,395"><area shape="rect" href="classFastSatSolver_1_1AbstractProcessWatched.html" title="Multi&#45;step process with time&#45;watch extension." alt="" coords="424,277,613,304"><area shape="rect" href="classFastSatSolver_1_1AbstractProcess.html" title="Base class of simple multi&#45;step process." alt="" coords="315,187,445,213"><area shape="rect" href="classFastSatSolver_1_1AbstractSubject.html" title="Simple subject&#39;s base class." alt="" coords="187,96,317,123"><area shape="rect" href="classFastSatSolver_1_1ISubject.html" title="Simple observer&#39;s subject base class." alt="" coords="167,5,241,32"><area shape="rect" href="structFastSatSolver_1_1AbstractSubject_1_1Private.html" title="Private" alt="" coords="265,5,335,32"><area shape="rect" href="classFastSatSolver_1_1IProcess.html" title="Continous process interface." alt="" coords="341,96,419,123"><area shape="rect" href="structFastSatSolver_1_1AbstractProcess_1_1Private.html" title="Private" alt="" coords="443,96,512,123"><area shape="rect" href="classFastSatSolver_1_1IStopWatch.html" title="Interface of time&#45;watchable activity." alt="" coords="469,187,568,213"><area shape="rect" href="structFastSatSolver_1_1AbstractProcessWatched_1_1Private.html" title="Private" alt="" coords="592,187,661,213"><area shape="rect" href="classFastSatSolver_1_1SatItemSet.html" title="Associative array for ISatItem objects." alt="" coords="93,459,189,485"><area shape="rect" href="structFastSatSolver_1_1SatItemSet_1_1Private.html" title="Private" alt="" coords="107,368,176,395"><area shape="rect" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade." alt="" coords="213,459,312,485"><area shape="rect" href="structFastSatSolver_1_1SatProblem_1_1Private.html" title="Private" alt="" coords="211,368,280,395"><area shape="rect" href="classFastSatSolver_1_1FormulaContainer.html" title="Container for evaluable formulas." alt="" coords="5,277,147,304"><area shape="rect" href="structFastSatSolver_1_1FormulaContainer_1_1Private.html" title="Private" alt="" coords="41,187,111,213"><area shape="rect" href="classFastSatSolver_1_1VariableContainer.html" title="Container for variables names." alt="" coords="171,277,315,304"><area shape="rect" href="structFastSatSolver_1_1VariableContainer_1_1Private.html" title="Private" alt="" coords="208,187,277,213"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
<p>
<a href="classFastSatSolver_1_1GaSatSolver-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Solver using GAlib library to solve SAT problem. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>simple</b> <b>factory</b> </dd></dl>
 
<p>Definition at line <a class="el" href="GaSatSolver_8h-source.html#l00086">86</a> of file <a class="el" href="GaSatSolver_8h-source.html">GaSatSolver.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">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#85731baa47549065bff3846628f55e0f">~GaSatSolver</a> ()</td></tr>
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">const GAStatistics &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#a7b4044638ce63985c719e6f456a8ea5">getStatistics</a> () const </td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns useful statistic data managed by GAStatistics class.  <a href="#a7b4044638ce63985c719e6f456a8ea5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#0f8b9a0b5b88a1091aee75779d1b7cb7">getProblem</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade.">SatProblem</a> used by solver.  <a href="#0f8b9a0b5b88a1091aee75779d1b7cb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#7b0abc45218a7539d5c842d0d23d1c2e">getSolutionsCount</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current count solutions founded by solver.  <a href="#7b0abc45218a7539d5c842d0d23d1c2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFastSatSolver_1_1SatItemVector.html">SatItemVector</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#afe4f04b889ee848eb52271ea1f4f9ef">getSolutionVector</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a set of solutions founded by solver.  <a href="#afe4f04b889ee848eb52271ea1f4f9ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#3e12cbdb3e43385dc45fc10f703af769">minFitness</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns fitness of the Worst solution managed by solver.  <a href="#3e12cbdb3e43385dc45fc10f703af769"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#c38f955a6e6a313249883aa555ab36b6">avgFitness</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns average fitness computed by solver.  <a href="#c38f955a6e6a313249883aa555ab36b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#a4ff4f00ef1022a70f538e32d7a2e07b">maxFitness</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Best fitness founded by solver.  <a href="#a4ff4f00ef1022a70f538e32d7a2e07b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#60de64d75454385b23995437f1d72669">start</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start process execution. This method returns control after process ends (or after it is stopped by <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> or <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55" title="Reset process to its initial state.">reset()</a> method).  <a href="#60de64d75454385b23995437f1d72669"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846">stop</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop currently executed process as soon as possible.  <a href="#8c528baf37154d347366083f0f816846"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55">reset</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset process to its initial state.  <a href="#d20897c5c8bd47f5d4005989bead0e55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#57e2ab43bf94f9adc686e788f8771681">getTimeElapsed</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns time elapsed by activity.  <a href="#57e2ab43bf94f9adc686e788f8771681"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcess.html#14fa4258dc9ab261c5d4026ae3dfc882">getStepsCount</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current step number.  <a href="#14fa4258dc9ab261c5d4026ae3dfc882"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractSubject.html#05bf56954cced132e03ec548c0557c88">addObserver</a> (<a class="el" href="classFastSatSolver_1_1IObserver.html">IObserver</a> *)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add observer to list of listeners.  <a href="#05bf56954cced132e03ec548c0557c88"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classFastSatSolver_1_1GaSatSolver.html">GaSatSolver</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#c162276cd1a753ecbba6e64f367fef60">create</a> (<a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *problem, const GAParameterList &amp;params)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple factory method.  <a href="#c162276cd1a753ecbba6e64f367fef60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#dfe44037a7f3a1f48e063707acca8c5e">registerDefaultParameters</a> (GAParameterList &amp;params)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extends GAParameterList with GA-specific parameters.  <a href="#dfe44037a7f3a1f48e063707acca8c5e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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_1GaSatSolver.html#5800d77805ee60252d59d43e4a786cdc">GaSatSolver</a> (<a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *problem, const GAParameterList &amp;params)</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Non-public constructor. Use static method <a class="el" href="classFastSatSolver_1_1GaSatSolver.html#c162276cd1a753ecbba6e64f367fef60" title="Simple factory method.">create()</a> instead.  <a href="#5800d77805ee60252d59d43e4a786cdc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#25a40b6614565f755233080a384c35f1">initialize</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize process.  <a href="#25a40b6614565f755233080a384c35f1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html#931514cf013abbc0b9511a44c1f7fe48">doStep</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do one step of process.  <a href="#931514cf013abbc0b9511a44c1f7fe48"></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_1AbstractSubject.html#7ff19734eb024bd6f3e2ad95647b1b27">notify</a> ()</td></tr>
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send notification to all observers (listeners).  <a href="#7ff19734eb024bd6f3e2ad95647b1b27"></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_1GaSatSolver_1_1Private.html">Private</a></td></tr>
 
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="85731baa47549065bff3846628f55e0f"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::~GaSatSolver" ref="85731baa47549065bff3846628f55e0f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classFastSatSolver_1_1GaSatSolver.html">GaSatSolver</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00109">109</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00085">GaSatSolver::Private::genome</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00087">GaSatSolver::Private::resultSet</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="5800d77805ee60252d59d43e4a786cdc"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::GaSatSolver" ref="5800d77805ee60252d59d43e4a786cdc" args="(SatProblem *problem, const GAParameterList &amp;params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html">GaSatSolver</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *&nbsp;</td>
          <td class="paramname"> <em>problem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const GAParameterList &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Non-public constructor. Use static method <a class="el" href="classFastSatSolver_1_1GaSatSolver.html#c162276cd1a753ecbba6e64f367fef60" title="Simple factory method.">create()</a> instead. 
<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>problem</em>&nbsp;</td><td><a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade.">SatProblem</a> instance containing SAT problem to solve. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>GAParameterList containing GA-specific parameters. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns initialized object of <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a>. </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>Simple</b> <b>factory</b> </dd></dl>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00092">92</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00165">GaSatSolver::Private::fitness()</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00085">GaSatSolver::Private::genome</a>, <a class="el" href="SatProblem_8cpp-source.html#l00165">SatProblem::getVarsCount()</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00084">GaSatSolver::Private::maxFitness</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00082">GaSatSolver::Private::problem</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00087">GaSatSolver::Private::resultSet</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00083">GaSatSolver::Private::solver</a>.</p>
 
<p>Referenced by <a class="el" href="GaSatSolver_8cpp-source.html#l00115">GaSatSolver::create()</a>.</p>
 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c162276cd1a753ecbba6e64f367fef60"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::create" ref="c162276cd1a753ecbba6e64f367fef60" args="(SatProblem *problem, const GAParameterList &amp;params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html">GaSatSolver</a> * create           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *&nbsp;</td>
          <td class="paramname"> <em>problem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const GAParameterList &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Simple factory method. 
<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>problem</em>&nbsp;</td><td><a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade.">SatProblem</a> instance containing SAT problem to solve. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>GAParameterList containing GA-specific parameters. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns initialized object of <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a>. </dd></dl>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00115">115</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00092">GaSatSolver::GaSatSolver()</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00147">GaSatSolver::initialize()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="dfe44037a7f3a1f48e063707acca8c5e"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::registerDefaultParameters" ref="dfe44037a7f3a1f48e063707acca8c5e" args="(GAParameterList &amp;params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void registerDefaultParameters           </td>
          <td>(</td>
          <td class="paramtype">GAParameterList &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Extends GAParameterList with GA-specific parameters. 
<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>params</em>&nbsp;</td><td>Reference to GAParameterList object managed by caller. </td></tr>
  </table>
</dl>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00120">120</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="a7b4044638ce63985c719e6f456a8ea5"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getStatistics" ref="a7b4044638ce63985c719e6f456a8ea5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const GAStatistics &amp; getStatistics           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns useful statistic data managed by GAStatistics class. 
<p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00128">128</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>.</p>
 
<p>Referenced by <a class="el" href="fss_8cpp-source.html#l00046">main()</a>, and <a class="el" href="SatSolverObserver_8cpp-source.html#l00092">FitnessWatch::notify()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="0f8b9a0b5b88a1091aee75779d1b7cb7"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getProblem" ref="0f8b9a0b5b88a1091aee75779d1b7cb7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> * getProblem           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade.">SatProblem</a> used by solver. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module&#39;s facade.">SatProblem</a> used by solver. </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#bf3d0f5a5273e99c718f39966456814b">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00125">125</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00082">GaSatSolver::Private::problem</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="7b0abc45218a7539d5c842d0d23d1c2e"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getSolutionsCount" ref="7b0abc45218a7539d5c842d0d23d1c2e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getSolutionsCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns current count solutions founded by solver. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns current count solutions founded by solver. </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#f70c2c7822e8a563a1685c9b68d5cc4a">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00131">131</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00257">SatItemSet::getLength()</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00087">GaSatSolver::Private::resultSet</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="afe4f04b889ee848eb52271ea1f4f9ef"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getSolutionVector" ref="afe4f04b889ee848eb52271ea1f4f9ef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFastSatSolver_1_1SatItemVector.html">SatItemVector</a> * getSolutionVector           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns a set of solutions founded by solver. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns on heap allocated instance of <a class="el" href="classFastSatSolver_1_1SatItemVector.html" title="Linear storage container for ISatItem objects.">SatItemVector</a> containing solutions founded by solver. </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#958ccb4759e38d9941f37717cf860bce">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00134">134</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00263">SatItemSet::createVector()</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00087">GaSatSolver::Private::resultSet</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="3e12cbdb3e43385dc45fc10f703af769"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::minFitness" ref="3e12cbdb3e43385dc45fc10f703af769" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float minFitness           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns fitness of the Worst solution managed by solver. 
<p>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#d1d0057d2029d7bfbf25323ab7c3b6ec">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00137">137</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="c38f955a6e6a313249883aa555ab36b6"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::avgFitness" ref="c38f955a6e6a313249883aa555ab36b6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float avgFitness           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns average fitness computed by solver. 
<p>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#1d214769e7d45e9fd04601b31adb8c70">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00140">140</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="a4ff4f00ef1022a70f538e32d7a2e07b"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::maxFitness" ref="a4ff4f00ef1022a70f538e32d7a2e07b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float maxFitness           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns the Best fitness founded by solver. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This should be always 1.0 if solution was found. </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#5f493f0ddbb31c2e3fa53153b67501e6">AbstractSatSolver</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00143">143</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00084">GaSatSolver::Private::maxFitness</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="25a40b6614565f755233080a384c35f1"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::initialize" ref="25a40b6614565f755233080a384c35f1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void initialize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Initialize process. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>template</b> <b>method</b> </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#a5085af8ee5e5c39b4c20c60231e5c92">AbstractProcess</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00147">147</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>, and <a class="el" href="GaSatSolver_8cpp-source.html#l00084">GaSatSolver::Private::maxFitness</a>.</p>
 
<p>Referenced by <a class="el" href="GaSatSolver_8cpp-source.html#l00115">GaSatSolver::create()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="931514cf013abbc0b9511a44c1f7fe48"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::doStep" ref="931514cf013abbc0b9511a44c1f7fe48" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void doStep           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Do one step of process. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>template</b> <b>method</b> </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#f40573eed2567df340143a72ddb6cd69">AbstractProcess</a>.</p>
 
<p>Definition at line <a class="el" href="GaSatSolver_8cpp-source.html#l00155">155</a> of file <a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="GaSatSolver_8cpp-source.html#l00086">GaSatSolver::Private::ga</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00117">AbstractProcessWatched::stop()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="60de64d75454385b23995437f1d72669"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::start" ref="60de64d75454385b23995437f1d72669" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void start           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Start process execution. This method returns control after process ends (or after it is stopped by <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> or <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55" title="Reset process to its initial state.">reset()</a> method). 
<p>
 
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#60de64d75454385b23995437f1d72669">AbstractProcess</a>.</p>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00111">111</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, <a class="el" href="SatSolver_8cpp-source.html#l00072">AbstractProcess::start()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00094">AbstractProcessWatched::Private::start</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="8c528baf37154d347366083f0f816846"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::stop" ref="8c528baf37154d347366083f0f816846" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void stop           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Stop currently executed process as soon as possible. 
<p>
 
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#8c528baf37154d347366083f0f816846">AbstractProcess</a>.</p>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00117">117</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00097">AbstractProcessWatched::Private::currentElapsed()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, <a class="el" href="SatSolver_8cpp-source.html#l00078">AbstractProcess::stop()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
 
<p>Referenced by <a class="el" href="GaSatSolver_8cpp-source.html#l00155">GaSatSolver::doStep()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">BlindSatSolver::doStep()</a>, <a class="el" href="SatSolverObserver_8cpp-source.html#l00067">TimedStop::notify()</a>, and <a class="el" href="SatSolverObserver_8cpp-source.html#l00045">SolutionsCountStop::notify()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="d20897c5c8bd47f5d4005989bead0e55"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::reset" ref="d20897c5c8bd47f5d4005989bead0e55" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Reset process to its initial state. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This implies <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> if process is running. </dd></dl>
 
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#d20897c5c8bd47f5d4005989bead0e55">AbstractProcess</a>.</p>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00125">125</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00081">AbstractProcess::reset()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="57e2ab43bf94f9adc686e788f8771681"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getTimeElapsed" ref="57e2ab43bf94f9adc686e788f8771681" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long getTimeElapsed           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns time elapsed by activity. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns time elapsed by activity. </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1IStopWatch.html#f649f409444bc5f814164e072a4c38e7">IStopWatch</a>.</p>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00131">131</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00097">AbstractProcessWatched::Private::currentElapsed()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
 
<p>Referenced by <a class="el" href="SatSolverObserver_8cpp-source.html#l00147">ResultsWatch::notify()</a>, <a class="el" href="SatSolverObserver_8cpp-source.html#l00092">FitnessWatch::notify()</a>, and <a class="el" href="SatSolverObserver_8cpp-source.html#l00067">TimedStop::notify()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="14fa4258dc9ab261c5d4026ae3dfc882"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::getStepsCount" ref="14fa4258dc9ab261c5d4026ae3dfc882" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getStepsCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Returns current step number. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns current step number. </dd></dl>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00086">86</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00061">AbstractProcess::Private::steps</a>.</p>
 
<p>Referenced by <a class="el" href="SatSolverObserver_8cpp-source.html#l00180">ProgressWatch::notify()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="05bf56954cced132e03ec548c0557c88"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::addObserver" ref="05bf56954cced132e03ec548c0557c88" args="(IObserver *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void addObserver           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFastSatSolver_1_1IObserver.html">IObserver</a> *&nbsp;</td>
          <td class="paramname"> <em>observer</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Add observer to list of listeners. 
<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>observer</em>&nbsp;</td><td>Observer object to add to list of listeners. </td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Observers are notified in the same order, as there are added to lsit of listeners. <p>
Design pattern <b>observer</b> </dd></dl>
 
<p>Implements <a class="el" href="classFastSatSolver_1_1ISubject.html#667a901632cfa1cf55790fed03a615c6">ISubject</a>.</p>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00046">46</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00036">AbstractSubject::Private::container</a>.</p>
 
<p>Referenced by <a class="el" href="fss_8cpp-source.html#l00046">main()</a>.</p>
 
</div>
</div><p>
<a class="anchor" name="7ff19734eb024bd6f3e2ad95647b1b27"></a><!-- doxytag: member="FastSatSolver::GaSatSolver::notify" ref="7ff19734eb024bd6f3e2ad95647b1b27" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void notify           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
 
<p>
Send notification to all observers (listeners). 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Observers are notified in the same order, as there are added to lsit of listeners. </dd></dl>
 
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00049">49</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
 
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00036">AbstractSubject::Private::container</a>, and <a class="el" href="classFastSatSolver_1_1IObserver.html#db968cb3b9d5c0f9c62efbc1ea91de8d">IObserver::notify()</a>.</p>
 
<p>Referenced by <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">BlindSatSolver::doStep()</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00165">GaSatSolver::Private::fitness()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00072">AbstractProcess::start()</a>.</p>
 
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="GaSatSolver_8h-source.html">GaSatSolver.h</a><li><a class="el" href="GaSatSolver_8cpp-source.html">GaSatSolver.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>