<!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: CClause 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> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">CClause Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="CClause" --> <p><code>#include <<a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>></code></p> <p><a href="classCClause-members.html">List of all members.</a></p> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="el" href="classCClause.html#aadb77f8245e78c2c6e3571c888d0883a">CClause</a> (void) <li><a class="el" href="classCClause.html#a989337392671ea2855b3131c456a52a4">~CClause</a> () <li>void <a class="el" href="classCClause.html#a9dea20f5f7e41be18dfbe01105c58f2c">init</a> (<a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> *head, int num_lits) <li><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> * <a class="el" href="classCClause.html#a8254175660df4f73f485f9227becaf14">literals</a> (void) <li><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> *& <a class="el" href="classCClause.html#a08b669c2f239c65df9cae46603cab85f">first_lit</a> (void) <li>int & <a class="el" href="classCClause.html#ae4f9f5a951b75aab530b5b05a3232082">num_lits</a> (void) <li>bool & <a class="el" href="classCClause.html#accc3ecb433cd7ba00affc3180b0911d4">in_use</a> (void) <li><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> & <a class="el" href="classCClause.html#aa9e91f96e80b94da2b28e3ab381b9acc">literal</a> (int idx) <li>void <a class="el" href="classCClause.html#af3bf6d35dd865946c571aeb3ac5405c1">dump</a> (ostream &os=cout) </ul> <h2><a name="pro-attribs"></a> Protected Attributes</h2> <ul> <li><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> * <a class="el" href="classCClause.html#a5a69f02bb5d7a29aa859105c21f93622">_first_lit</a> <li>int <a class="el" href="classCClause.html#ad52e9eeb7316e0b9be73c4f556f38856">_num_lits</a> <li>bool <a class="el" href="classCClause.html#a94169375b0ac79972818318e157751b8">_in_use</a> </ul> <h2><a name="friends"></a> Friends</h2> <ul> <li>ostream & <a class="el" href="classCClause.html#a03f918c95f5c21a52e38a1879c53dc95">operator<<</a> (ostream &os, <a class="el" href="classCClause.html">CClause</a> &cl) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Class**********************************************************************</p> <p>Synopsis [Definition of a clause]</p> <p>Description [A clause is consisted of a certain number of literals. All literals are collected in a single large vector, we call it literal pool. Each clause has a pointer to the beginning position of it's literals in the pool. The boolean propagation mechanism use two pointers (called head/tail pointer, by sato's convention) which always point to the last assigned literals of this clause.]</p> <p>SeeAlso [<a class="el" href="classCDatabase.html">CDatabase</a>] </p> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00165">165</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aadb77f8245e78c2c6e3571c888d0883a"></a><!-- doxytag: member="CClause::CClause" ref="aadb77f8245e78c2c6e3571c888d0883a" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CClause::CClause </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00173">173</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <a class="anchor" id="a989337392671ea2855b3131c456a52a4"></a><!-- doxytag: member="CClause::~CClause" ref="a989337392671ea2855b3131c456a52a4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CClause::~CClause </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00175">175</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a9dea20f5f7e41be18dfbe01105c58f2c"></a><!-- doxytag: member="CClause::init" ref="a9dea20f5f7e41be18dfbe01105c58f2c" args="(CLitPoolElement *head, int num_lits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CClause::init </td> <td>(</td> <td class="paramtype"><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a> * </td> <td class="paramname"><em>head</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>num_lits</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00177">177</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__solver_8cpp_source.html#l00179">CSolver::add_clause()</a>.</p> </div> </div> <a class="anchor" id="a8254175660df4f73f485f9227becaf14"></a><!-- doxytag: member="CClause::literals" ref="a8254175660df4f73f485f9227becaf14" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a>* CClause::literals </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00183">183</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__solver_8cpp_source.html#l00179">CSolver::add_clause()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00176">CDatabase::detail_dump_cl()</a>, <a class="el" href="xchaff__solver_8cpp_source.html#l00447">CSolver::find_max_clause_dlevel()</a>, <a class="el" href="xchaff__solver_8cpp_source.html#l00497">CDatabase::find_unit_literal()</a>, <a class="el" href="xchaff__solver_8cpp_source.html#l00479">CDatabase::is_conflict()</a>, and <a class="el" href="xchaff__solver_8cpp_source.html#l00488">CDatabase::is_satisfied()</a>.</p> </div> </div> <a class="anchor" id="a08b669c2f239c65df9cae46603cab85f"></a><!-- doxytag: member="CClause::first_lit" ref="a08b669c2f239c65df9cae46603cab85f" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a>* & CClause::first_lit </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00186">186</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__dbase_8cpp_source.html#l00062">CDatabase::compact_lit_pool()</a>, and <a class="el" href="xchaff__dbase_8cpp_source.html#l00100">CDatabase::enlarge_lit_pool()</a>.</p> </div> </div> <a class="anchor" id="ae4f9f5a951b75aab530b5b05a3232082"></a><!-- doxytag: member="CClause::num_lits" ref="ae4f9f5a951b75aab530b5b05a3232082" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int& CClause::num_lits </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00189">189</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__solver_8cpp_source.html#l00179">CSolver::add_clause()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00062">CDatabase::compact_lit_pool()</a>, <a class="el" href="xchaff__solver_8cpp_source.html#l00513">CSolver::delete_unrelevant_clauses()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00176">CDatabase::detail_dump_cl()</a>, <a class="el" href="xchaff_8cpp_source.html#l00035">Xchaff::GetClauseLits()</a>, <a class="el" href="xchaff__dbase_8h_source.html#l00221">CDatabase::mark_clause_deleted()</a>, and <a class="el" href="xchaff__solver_8cpp_source.html#l00706">CSolver::preprocess()</a>.</p> </div> </div> <a class="anchor" id="accc3ecb433cd7ba00affc3180b0911d4"></a><!-- doxytag: member="CClause::in_use" ref="accc3ecb433cd7ba00affc3180b0911d4" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool& CClause::in_use </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00192">192</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__solver_8cpp_source.html#l00513">CSolver::delete_unrelevant_clauses()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00176">CDatabase::detail_dump_cl()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00100">CDatabase::enlarge_lit_pool()</a>, <a class="el" href="xchaff_8cpp_source.html#l00020">Xchaff::GetClause()</a>, <a class="el" href="xchaff_8h_source.html#l00060">Xchaff::GetFirstClause()</a>, <a class="el" href="xchaff_8h_source.html#l00065">Xchaff::GetNextClause()</a>, and <a class="el" href="xchaff__dbase_8h_source.html#l00221">CDatabase::mark_clause_deleted()</a>.</p> </div> </div> <a class="anchor" id="aa9e91f96e80b94da2b28e3ab381b9acc"></a><!-- doxytag: member="CClause::literal" ref="aa9e91f96e80b94da2b28e3ab381b9acc" args="(int idx)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a>& CClause::literal </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>idx</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00195">195</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>Referenced by <a class="el" href="xchaff__solver_8cpp_source.html#l00513">CSolver::delete_unrelevant_clauses()</a>, <a class="el" href="xchaff__dbase_8cpp_source.html#l00176">CDatabase::detail_dump_cl()</a>, <a class="el" href="xchaff_8cpp_source.html#l00035">Xchaff::GetClauseLits()</a>, and <a class="el" href="xchaff__dbase_8h_source.html#l00221">CDatabase::mark_clause_deleted()</a>.</p> </div> </div> <a class="anchor" id="af3bf6d35dd865946c571aeb3ac5405c1"></a><!-- doxytag: member="CClause::dump" ref="af3bf6d35dd865946c571aeb3ac5405c1" args="(ostream &os=cout)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CClause::dump </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"><em>os</em> = <code>cout</code></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00199">199</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> <p>References <a class="el" href="expr__stream_8cpp_source.html#l00353">std::endl()</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a03f918c95f5c21a52e38a1879c53dc95"></a><!-- doxytag: member="CClause::operator<<" ref="a03f918c95f5c21a52e38a1879c53dc95" args="(ostream &os, CClause &cl)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"><em>os</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCClause.html">CClause</a> & </td> <td class="paramname"><em>cl</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00207">207</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a5a69f02bb5d7a29aa859105c21f93622"></a><!-- doxytag: member="CClause::_first_lit" ref="a5a69f02bb5d7a29aa859105c21f93622" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLitPoolElement.html">CLitPoolElement</a>* <a class="el" href="classCClause.html#a5a69f02bb5d7a29aa859105c21f93622">CClause::_first_lit</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00168">168</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <a class="anchor" id="ad52e9eeb7316e0b9be73c4f556f38856"></a><!-- doxytag: member="CClause::_num_lits" ref="ad52e9eeb7316e0b9be73c4f556f38856" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="classCClause.html#ad52e9eeb7316e0b9be73c4f556f38856">CClause::_num_lits</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00169">169</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <a class="anchor" id="a94169375b0ac79972818318e157751b8"></a><!-- doxytag: member="CClause::_in_use" ref="a94169375b0ac79972818318e157751b8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classCClause.html#a94169375b0ac79972818318e157751b8">CClause::_in_use</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="xchaff__base_8h_source.html#l00170">170</a> of file <a class="el" href="xchaff__base_8h_source.html">xchaff_base.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="xchaff__base_8h_source.html">xchaff_base.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>