<!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::CDO< T > Class Template 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_1CDO.html">CDO</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> </div> <div class="headertitle"> <div class="title">CVC3::CDO< T > Class Template Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="CVC3::CDO" --><!-- doxytag: inherits="CVC3::ContextObj" --> <p><code>#include <<a class="el" href="cdo_8h_source.html">cdo.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CVC3::CDO< T >:</div> <div class="dyncontent"> <div class="center"> <img src="classCVC3_1_1CDO.png" usemap="#CVC3::CDO< T >_map" alt=""/> <map id="CVC3::CDO< T >_map" name="CVC3::CDO< T >_map"> <area href="classCVC3_1_1ContextObj.html" alt="CVC3::ContextObj" shape="rect" coords="0,0,114,24"/> </map> </div></div> <p><a href="classCVC3_1_1CDO-members.html">List of all members.</a></p> <h2><a name="pub-methods"></a> Public Member Functions</h2> <ul> <li><a class="el" href="classCVC3_1_1CDO.html#a4d4b01b219b465c68c54e3aa44613726">CDO</a> (<a class="el" href="classCVC3_1_1Context.html">Context</a> *context) <li><a class="el" href="classCVC3_1_1CDO.html#a9dbda3edf933f8a77599595d86c0c8d6">CDO</a> (<a class="el" href="classCVC3_1_1Context.html">Context</a> *context, const T &data, int scope=-1) <li><a class="el" href="classCVC3_1_1CDO.html#aa171c4b1103e04c9fa28c4d1711a7a55">~CDO</a> () <li>void <a class="el" href="classCVC3_1_1CDO.html#ab4e881820af78a628c72691cb9c2128e">set</a> (const T &data, int scope=-1) <li>const T & <a class="el" href="classCVC3_1_1CDO.html#a818fcacc7b30b0f05347335ab125626c">get</a> () const <li><a class="el" href="classCVC3_1_1CDO.html#aa4d23ff7a4b943407989c3f71c54c67f">operator T</a> () <li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > & <a class="el" href="classCVC3_1_1CDO.html#a5466f0c005834bfed2e746967866f98c">operator=</a> (const T &data) </ul> <h2><a name="pri-methods"></a> Private Member Functions</h2> <ul> <li>virtual <a class="el" href="classCVC3_1_1ContextObj.html">ContextObj</a> * <a class="el" href="classCVC3_1_1CDO.html#a07f3f963911d58ec1e09fa879c934609">makeCopy</a> (<a class="el" href="classCVC3_1_1ContextMemoryManager.html">ContextMemoryManager</a> *cmm) <dl class="el"><dd class="mdescRight">Make a copy of the current object so it can be restored to its current state. <a href="#a07f3f963911d58ec1e09fa879c934609"></a><br/></dl><li>virtual void <a class="el" href="classCVC3_1_1CDO.html#ab8396db3f236e6e5417b474d3a8f2b97">restoreData</a> (<a class="el" href="classCVC3_1_1ContextObj.html">ContextObj</a> *data) <dl class="el"><dd class="mdescRight">Restore the current object from the given data. <a href="#ab8396db3f236e6e5417b474d3a8f2b97"></a><br/></dl><li>virtual void <a class="el" href="classCVC3_1_1CDO.html#a1783f663ddae25677216a393f92e69f8">setNull</a> (void) <dl class="el"><dd class="mdescRight">Set the current object to be invalid. <a href="#a1783f663ddae25677216a393f92e69f8"></a><br/></dl><li><a class="el" href="classCVC3_1_1CDO.html#ad99551b03a6f75187b6c52fb621db6dd">CDO</a> (const <a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > &cdo) <li><a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > & <a class="el" href="classCVC3_1_1CDO.html#acd542d1a5479dd6a1375a81cf3d23410">operator=</a> (const <a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > &cdo) </ul> <h2><a name="pri-attribs"></a> Private Attributes</h2> <ul> <li>T <a class="el" href="classCVC3_1_1CDO.html#ac0187793f6abe45810b9afd517f13667">d_data</a> </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<class T><br/> class CVC3::CDO< T ></h3> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00039">39</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ad99551b03a6f75187b6c52fb621db6dd"></a><!-- doxytag: member="CVC3::CDO::CDO" ref="ad99551b03a6f75187b6c52fb621db6dd" args="(const CDO< T > &cdo)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::<a class="el" href="classCVC3_1_1CDO.html">CDO</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > & </td> <td class="paramname"><em>cdo</em></td><td>)</td> <td><code> [inline, private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00051">51</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="a4d4b01b219b465c68c54e3aa44613726"></a><!-- doxytag: member="CVC3::CDO::CDO" ref="a4d4b01b219b465c68c54e3aa44613726" args="(Context *context)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::<a class="el" href="classCVC3_1_1CDO.html">CDO</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1Context.html">Context</a> * </td> <td class="paramname"><em>context</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00055">55</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="a9dbda3edf933f8a77599595d86c0c8d6"></a><!-- doxytag: member="CVC3::CDO::CDO" ref="a9dbda3edf933f8a77599595d86c0c8d6" args="(Context *context, const T &data, int scope=-1)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::<a class="el" href="classCVC3_1_1CDO.html">CDO</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1Context.html">Context</a> * </td> <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>scope</em> = <code>-1</code> </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="cdo_8h_source.html#l00057">57</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="aa171c4b1103e04c9fa28c4d1711a7a55"></a><!-- doxytag: member="CVC3::CDO::~CDO" ref="aa171c4b1103e04c9fa28c4d1711a7a55" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::~<a class="el" href="classCVC3_1_1CDO.html">CDO</a> </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="cdo_8h_source.html#l00062">62</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a07f3f963911d58ec1e09fa879c934609"></a><!-- doxytag: member="CVC3::CDO::makeCopy" ref="a07f3f963911d58ec1e09fa879c934609" args="(ContextMemoryManager *cmm)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCVC3_1_1ContextObj.html">ContextObj</a>* <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::makeCopy </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1ContextMemoryManager.html">ContextMemoryManager</a> * </td> <td class="paramname"><em>cmm</em></td><td>)</td> <td><code> [inline, private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Make a copy of the current object so it can be restored to its current state. </p> <p>Implements <a class="el" href="classCVC3_1_1ContextObj.html#a11da9a588638bb9c3fdbd5218dfdf9c6">CVC3::ContextObj</a>.</p> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00042">42</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="ab8396db3f236e6e5417b474d3a8f2b97"></a><!-- doxytag: member="CVC3::CDO::restoreData" ref="ab8396db3f236e6e5417b474d3a8f2b97" args="(ContextObj *data)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">virtual void <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::restoreData </td> <td>(</td> <td class="paramtype"><a class="el" href="classCVC3_1_1ContextObj.html">ContextObj</a> * </td> <td class="paramname"><em>data</em></td><td>)</td> <td><code> [inline, private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Restore the current object from the given data. </p> <p>Reimplemented from <a class="el" href="classCVC3_1_1ContextObj.html#a37109b576b9dbaeee06f37cdc78f1a2e">CVC3::ContextObj</a>.</p> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00044">44</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="a1783f663ddae25677216a393f92e69f8"></a><!-- doxytag: member="CVC3::CDO::setNull" ref="a1783f663ddae25677216a393f92e69f8" args="(void)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">virtual void <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::setNull </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td><code> [inline, private, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the current object to be invalid. </p> <p>Implements <a class="el" href="classCVC3_1_1ContextObj.html#ac20b3e11a5fac338e4d859f08283e3bf">CVC3::ContextObj</a>.</p> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00047">47</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="acd542d1a5479dd6a1375a81cf3d23410"></a><!-- doxytag: member="CVC3::CDO::operator=" ref="acd542d1a5479dd6a1375a81cf3d23410" args="(const CDO< T > &cdo)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a><T>& <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCVC3_1_1CDO.html">CDO</a>< T > & </td> <td class="paramname"><em>cdo</em></td><td>)</td> <td><code> [inline, private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00052">52</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="ab4e881820af78a628c72691cb9c2128e"></a><!-- doxytag: member="CVC3::CDO::set" ref="ab4e881820af78a628c72691cb9c2128e" args="(const T &data, int scope=-1)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::set </td> <td>(</td> <td class="paramtype">const T & </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>scope</em> = <code>-1</code> </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="cdo_8h_source.html#l00063">63</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> <p>Referenced by <a class="el" href="search__simple_8cpp_source.html#l00237">CVC3::SearchSimple::addNonLiteralFact()</a>, <a class="el" href="search__simple_8cpp_source.html#l00165">CVC3::SearchSimple::checkValidInternal()</a>, <a class="el" href="theory__quant_8cpp_source.html#l03828">CVC3::TheoryQuant::collectChangedTerms()</a>, <a class="el" href="theory__quant_8cpp_source.html#l08385">CVC3::TheoryQuant::naiveCheckSat()</a>, <a class="el" href="theory__quant_8cpp_source.html#l08109">CVC3::TheoryQuant::saveContext()</a>, <a class="el" href="search__simple_8cpp_source.html#l00101">CVC3::SearchSimple::SearchSimple()</a>, <a class="el" href="variable_8cpp_source.html#l00328">CVC3::VariableValue::setAssumpThm()</a>, <a class="el" href="expr_8h_source.html#l01416">CVC3::Expr::setEqNext()</a>, <a class="el" href="expr_8h_source.html#l01405">CVC3::Expr::setFind()</a>, <a class="el" href="expr_8h_source.html#l01589">CVC3::Expr::setRep()</a>, <a class="el" href="expr_8h_source.html#l01578">CVC3::Expr::setSig()</a>, and <a class="el" href="variable_8cpp_source.html#l00242">CVC3::VariableValue::setValue()</a>.</p> </div> </div> <a class="anchor" id="a818fcacc7b30b0f05347335ab125626c"></a><!-- doxytag: member="CVC3::CDO::get" ref="a818fcacc7b30b0f05347335ab125626c" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">const T& <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::get </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00064">64</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> <p>Referenced by <a class="el" href="search__simple_8cpp_source.html#l00237">CVC3::SearchSimple::addNonLiteralFact()</a>, <a class="el" href="search__simple_8cpp_source.html#l00165">CVC3::SearchSimple::checkValidInternal()</a>, <a class="el" href="search__fast_8cpp_source.html#l01697">CVC3::SearchEngineFast::checkValidInternal()</a>, <a class="el" href="search__simple_8cpp_source.html#l00126">CVC3::SearchSimple::checkValidMain()</a>, <a class="el" href="variable_8h_source.html#l00281">CVC3::VariableValue::getAntecedent()</a>, <a class="el" href="variable_8h_source.html#l00287">CVC3::VariableValue::getAntecedentIdx()</a>, <a class="el" href="variable_8h_source.html#l00292">CVC3::VariableValue::getAssumpThm()</a>, <a class="el" href="search__sat_8cpp_source.html#l01169">CVC3::SearchSat::getCounterExample()</a>, <a class="el" href="expr_8h_source.html#l01247">CVC3::Expr::getEqNext()</a>, <a class="el" href="expr_8h_source.html#l01237">CVC3::Expr::getFind()</a>, <a class="el" href="search__sat_8cpp_source.html#l01178">CVC3::SearchSat::getProof()</a>, <a class="el" href="expr_8h_source.html#l01569">CVC3::Expr::getRep()</a>, <a class="el" href="variable_8h_source.html#l00270">CVC3::VariableValue::getScope()</a>, <a class="el" href="expr_8h_source.html#l01560">CVC3::Expr::getSig()</a>, <a class="el" href="variable_8h_source.html#l00275">CVC3::VariableValue::getTheorem()</a>, <a class="el" href="variable_8h_source.html#l00265">CVC3::VariableValue::getValue()</a>, <a class="el" href="expr_8h_source.html#l01232">CVC3::Expr::hasFind()</a>, <a class="el" href="expr_8h_source.html#l01554">CVC3::Expr::hasRep()</a>, <a class="el" href="expr_8h_source.html#l01548">CVC3::Expr::hasSig()</a>, <a class="el" href="theory__quant_8cpp_source.html#l08385">CVC3::TheoryQuant::naiveCheckSat()</a>, <a class="el" href="cnf_8h_source.html#l00185">SAT::CD_CNF_Formula::numVars()</a>, <a class="el" href="search__simple_8cpp_source.html#l00207">CVC3::SearchSimple::restartInternal()</a>, and <a class="el" href="search__fast_8cpp_source.html#l01750">CVC3::SearchEngineFast::restartInternal()</a>.</p> </div> </div> <a class="anchor" id="aa4d23ff7a4b943407989c3f71c54c67f"></a><!-- doxytag: member="CVC3::CDO::operator T" ref="aa4d23ff7a4b943407989c3f71c54c67f" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::operator T </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="cdo_8h_source.html#l00065">65</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <a class="anchor" id="a5466f0c005834bfed2e746967866f98c"></a><!-- doxytag: member="CVC3::CDO::operator=" ref="a5466f0c005834bfed2e746967866f98c" args="(const T &data)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCVC3_1_1CDO.html">CDO</a><T>& <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::operator= </td> <td>(</td> <td class="paramtype">const T & </td> <td class="paramname"><em>data</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00066">66</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="ac0187793f6abe45810b9afd517f13667"></a><!-- doxytag: member="CVC3::CDO::d_data" ref="ac0187793f6abe45810b9afd517f13667" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T> </div> <table class="memname"> <tr> <td class="memname">T <a class="el" href="classCVC3_1_1CDO.html">CVC3::CDO</a>< T >::<a class="el" href="classCVC3_1_1CDO.html#ac0187793f6abe45810b9afd517f13667">d_data</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="cdo_8h_source.html#l00040">40</a> of file <a class="el" href="cdo_8h_source.html">cdo.h</a>.</p> <p>Referenced by <a class="el" href="cdo_8h_source.html#l00064">CVC3::CDO< Rational >::get()</a>, <a class="el" href="cdo_8h_source.html#l00044">CVC3::CDO< Rational >::restoreData()</a>, <a class="el" href="cdo_8h_source.html#l00063">CVC3::CDO< Rational >::set()</a>, and <a class="el" href="cdo_8h_source.html#l00047">CVC3::CDO< Rational >::setNull()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="cdo_8h_source.html">cdo.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>