<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>PolyBoRi: polybori::CIndexHandle< NaviType > 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.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <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="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 List</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 class="navpath"><a class="el" href="namespacepolybori.html">polybori</a>::<a class="el" href="classpolybori_1_1CIndexHandle.html">CIndexHandle</a> </div> </div> <div class="contents"> <h1>polybori::CIndexHandle< NaviType > Class Template Reference</h1><!-- doxytag: class="polybori::CIndexHandle" -->This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables). <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="CDegreeCache_8h_source.html">CDegreeCache.h</a>></code> <p> <p> <a href="classpolybori_1_1CIndexHandle-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="classpolybori_1_1CIndexHandle.html#00d61032cc1f807015c1b202d220ffcfc3c76eaed4fcb470869af9c75a49ba7a">invalid</a> = CTypes::max_idx }</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef NaviType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set actual storage type. <a href="#bc729ee8c28ddf492f05689340914b46"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#ac606138466bb7f3ba763305eda28d2d">base</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define type base. <a href="#ac606138466bb7f3ba763305eda28d2d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef navigator::bool_type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#af0b191a9e097d4882e1f79477d52cec">bool_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Plain Boolean type. <a href="#af0b191a9e097d4882e1f79477d52cec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#8c170014c637d9ecf5950063ca30ef46">CTypes::idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type for representing indices. <a href="#b7e98a0b95cb78ad18c713b4fddd3e3c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#0e254f927049b57061437ac57ea5c2cd">CTypes::size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#4cd6ec6895a31a83e99743dbca33d1ec">size_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type for representing size. <a href="#4cd6ec6895a31a83e99743dbca33d1ec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">CTypes::manager_base</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#23e724b27cba8370f06662d8cdd5d2e7">manager_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type of decision diagram manager. <a href="#23e724b27cba8370f06662d8cdd5d2e7"></a><br></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#e1b5f633e56d1982307da563fd100acc">CIndexHandle</a> (<a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> idx)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct from index. <a href="#e1b5f633e56d1982307da563fd100acc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#22ba1334a975fa44c9b63b9a391b9a81">CIndexHandle</a> (<a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> navi, const <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> &mgr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct from given navigator. <a href="#22ba1334a975fa44c9b63b9a391b9a81"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#476725d033ba9c765edcbc83e7298050">operator*</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dereference to get stored index. <a href="#476725d033ba9c765edcbc83e7298050"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#adfd99d518dbf5cead8f961ab34445be">isValid</a> () const </td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#f060fd5a8107f05312b5ca672df4b703">fromNode</a> (<a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> navi, const <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> &mgr) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dereference to get stored index. <a href="#f060fd5a8107f05312b5ca672df4b703"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CIndexHandle.html#fd7c20e6fc20252985545837859fa511">m_idx</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class NaviType><br> class polybori::CIndexHandle< NaviType ></h3> This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables). <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="ac606138466bb7f3ba763305eda28d2d"></a><!-- doxytag: member="polybori::CIndexHandle::base" ref="ac606138466bb7f3ba763305eda28d2d" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#ac606138466bb7f3ba763305eda28d2d">base</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Define type base. <p> </div> </div><p> <a class="anchor" name="af0b191a9e097d4882e1f79477d52cec"></a><!-- doxytag: member="polybori::CIndexHandle::bool_type" ref="af0b191a9e097d4882e1f79477d52cec" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef navigator::bool_type <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#af0b191a9e097d4882e1f79477d52cec">bool_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Plain Boolean type. <p> </div> </div><p> <a class="anchor" name="b7e98a0b95cb78ad18c713b4fddd3e3c"></a><!-- doxytag: member="polybori::CIndexHandle::idx_type" ref="b7e98a0b95cb78ad18c713b4fddd3e3c" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#8c170014c637d9ecf5950063ca30ef46">CTypes::idx_type</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type for representing indices. <p> </div> </div><p> <a class="anchor" name="23e724b27cba8370f06662d8cdd5d2e7"></a><!-- doxytag: member="polybori::CIndexHandle::manager_type" ref="23e724b27cba8370f06662d8cdd5d2e7" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddInterface.html">CTypes::manager_base</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type of decision diagram manager. <p> </div> </div><p> <a class="anchor" name="bc729ee8c28ddf492f05689340914b46"></a><!-- doxytag: member="polybori::CIndexHandle::navigator" ref="bc729ee8c28ddf492f05689340914b46" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef NaviType <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Set actual storage type. <p> </div> </div><p> <a class="anchor" name="4cd6ec6895a31a83e99743dbca33d1ec"></a><!-- doxytag: member="polybori::CIndexHandle::size_type" ref="4cd6ec6895a31a83e99743dbca33d1ec" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="structpolybori_1_1CAuxTypes.html#0e254f927049b57061437ac57ea5c2cd">CTypes::size_type</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#4cd6ec6895a31a83e99743dbca33d1ec">size_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type for representing size. <p> </div> </div><p> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="00d61032cc1f807015c1b202d220ffcf"></a><!-- doxytag: member="polybori::CIndexHandle::@11" ref="00d61032cc1f807015c1b202d220ffcf" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">anonymous enum </td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="00d61032cc1f807015c1b202d220ffcfc3c76eaed4fcb470869af9c75a49ba7a"></a><!-- doxytag: member="invalid" ref="00d61032cc1f807015c1b202d220ffcfc3c76eaed4fcb470869af9c75a49ba7a" args="" -->invalid</em> </td><td> </td></tr> </table> </dl> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="e1b5f633e56d1982307da563fd100acc"></a><!-- doxytag: member="polybori::CIndexHandle::CIndexHandle" ref="e1b5f633e56d1982307da563fd100acc" args="(idx_type idx)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html">CIndexHandle</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> </td> <td class="paramname"> <em>idx</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct from index. <p> </div> </div><p> <a class="anchor" name="22ba1334a975fa44c9b63b9a391b9a81"></a><!-- doxytag: member="polybori::CIndexHandle::CIndexHandle" ref="22ba1334a975fa44c9b63b9a391b9a81" args="(navigator navi, const manager_type &mgr)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html">CIndexHandle</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> </td> <td class="paramname"> <em>navi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> & </td> <td class="paramname"> <em>mgr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct from given navigator. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f060fd5a8107f05312b5ca672df4b703"></a><!-- doxytag: member="polybori::CIndexHandle::fromNode" ref="f060fd5a8107f05312b5ca672df4b703" args="(navigator navi, const manager_type &mgr) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::fromNode </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CIndexHandle.html#bc729ee8c28ddf492f05689340914b46">navigator</a> </td> <td class="paramname"> <em>navi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> & </td> <td class="paramname"> <em>mgr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Dereference to get stored index. <p> <p>References <a class="el" href="CCuddInterface_8h_source.html#l00343">polybori::CCuddInterface::nVariables()</a>, and <a class="el" href="pbori__defs_8h_source.html#l00175">UNLIKELY</a>.</p> </div> </div><p> <a class="anchor" name="adfd99d518dbf5cead8f961ab34445be"></a><!-- doxytag: member="polybori::CIndexHandle::isValid" ref="adfd99d518dbf5cead8f961ab34445be" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::isValid </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="476725d033ba9c765edcbc83e7298050"></a><!-- doxytag: member="polybori::CIndexHandle::operator*" ref="476725d033ba9c765edcbc83e7298050" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::operator* </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Dereference to get stored index. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="fd7c20e6fc20252985545837859fa511"></a><!-- doxytag: member="polybori::CIndexHandle::m_idx" ref="fd7c20e6fc20252985545837859fa511" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class NaviType > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CIndexHandle.html#b7e98a0b95cb78ad18c713b4fddd3e3c">idx_type</a> <a class="el" href="classpolybori_1_1CIndexHandle.html">polybori::CIndexHandle</a>< NaviType >::<a class="el" href="classpolybori_1_1CIndexHandle.html#fd7c20e6fc20252985545837859fa511">m_idx</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="CDegreeCache_8h_source.html">CDegreeCache.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:02 2009 for PolyBoRi by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>