<!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::CCuddDDBase< DiagramType > 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_1CCuddDDBase.html">CCuddDDBase</a> </div> </div> <div class="contents"> <h1>polybori::CCuddDDBase< DiagramType > Class Template Reference</h1><!-- doxytag: class="polybori::CCuddDDBase" -->This template class defines a C++ interface to <code>CUDD's</code> decision diagram structure. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="CCuddZDD_8h_source.html">CCuddZDD.h</a>></code> <p> <p> <a href="classpolybori_1_1CCuddDDBase-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">typedef DiagramType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Name type of *this. <a href="#391b1ffc855218622a50828e60a8b81b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddDDBase.html">CCuddDDBase</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#48b1110773e989dd749f90b32b4a2f7d">self</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#1156f672b6677c7b25350729b88e1f1a">CCuddCore::errorfunc_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#6453877e3548045687e5152adb0ae715">errorfunc_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#1d099780efc89342267e4c4173a3eb52">CCuddCore::large_size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#170765ab7e98459affc70f080d902632">large_size_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#91a2127db4890d11b34f4653f60393af">CCuddCore::refcount_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#1bc4fb0fdbe106a0d85ae5c0e70a5662">refcount_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#77015122af98d17b7cca612a149cd89d">CCuddCore::node_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#b6f8393780cb249c495880d919e09558">CCuddCore::mgrcore_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#62dc14b3b4af93943bb4ef30c5be22b4">mgrcore_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#d36c3a51f91d424038ad6cd380af6326">CCuddCore::unary_int_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#89ab096598f13ddbb34fec90f6bd6616">unary_int_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#26360a33fa8a030b055db06f81f75f7f">CCuddCore::void_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#f69191c127eda8bec7d92b0442175722">void_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#0fea615421e42e625943fe3225844b80">CCuddCore::binary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#2c5ca5705b0ddc737c3dc5cfcaa93c5a">binary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#21c98ff4d498b7a19bbbeb24e4c827ab">CCuddCore::binary_int_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d934c183a31c2616d67d559566bcfecb">binary_int_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#5d05258f119e954d300f578eb3d9cbb1">CCuddCore::ternary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0006ec312346bc6194210987792e4b38">ternary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> <a class="el" href="classpolybori_1_1CCuddCore.html#d553ab433d565a3f507da96e903ae59c">CCuddCore::int_unary_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#eb61a05453f79dfb98d39c9d5c5feca5">int_unary_function</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#c98c23ce4f58682d9c7d6f90d9269f85">CCuddCore::size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#92df9972546cc26db8e44ec45ae9f359">CCuddCore::idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#e019decfc7c24d36400cf8bf9c5f8f60">CCuddCore::mgrcore_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define shared pointer type for handling the decision diagram manager. <a href="#d97630bfe1a2281ef8a8e1e592e7fe6c"></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_1CCuddDDBase.html#54b223d77e9f38554e8608e972f9738a">CCuddDDBase</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> ddManager, <a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> ddNode)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct diagram from raw CUDD elements. <a href="#54b223d77e9f38554e8608e972f9738a"></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_1CCuddDDBase.html#cf757afe175b2fbb1f4588941701962e">CCuddDDBase</a> (const <a class="el" href="classpolybori_1_1CCuddDDBase.html">self</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#cf757afe175b2fbb1f4588941701962e"></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_1CCuddDDBase.html#3644d297a92973d85c50a3c4028f2ed8">CCuddDDBase</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#3644d297a92973d85c50a3c4028f2ed8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#62a8036bffec87b45672752686a04d3e">manager</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get (shared) pointer to decision diagram manager. <a href="#62a8036bffec87b45672752686a04d3e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#62dc14b3b4af93943bb4ef30c5be22b4">mgrcore_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#b6bd2a5d6c2d60fde0f8b1014c0828e3">getManager</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get raw decision diagram manager. <a href="#b6bd2a5d6c2d60fde0f8b1014c0828e3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#06ac24d1a26a7d8c747446ac3c366ae3">getNode</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get raw node structure. <a href="#06ac24d1a26a7d8c747446ac3c366ae3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0bf668194d6ec1daca72e5b00ef912b8">NodeReadIndex</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get index of curent node. <a href="#0bf668194d6ec1daca72e5b00ef912b8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#3bc0fe9f735dc69549f1470b58fcd465">nodeCount</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of nodes in the current decision diagram. <a href="#3bc0fe9f735dc69549f1470b58fcd465"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#e9dbfa150d454a862e89df86387b8b11">refCount</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of references pointing here. <a href="#e9dbfa150d454a862e89df86387b8b11"></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_1CCuddDDBase.html#21fb4ba7b2c5ebfd589d8165b80e0295">isZero</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test whether diagram represents the empty set. <a href="#21fb4ba7b2c5ebfd589d8165b80e0295"></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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#fe4d5ec8989e7288c3b7d4b4eb0b7e61">checkSameManager</a> (const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test, whether both operands. <a href="#fe4d5ec8989e7288c3b7d4b4eb0b7e61"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#15929bf2955abb55a92d2f52ecf71d7c">checkReturnValue</a> (const <a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether decision diagram operation in computing result was valid. <a href="#15929bf2955abb55a92d2f52ecf71d7c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#be6c7c1eea057734a00785b4cdd398dd">checkReturnValue</a> (const int result, const int expected=1) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether previous decision diagram operation for validity. <a href="#be6c7c1eea057734a00785b4cdd398dd"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Apply CUDD procedures to nodes</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#c8b0d225e46d231ee2231d8ff9a55da3">apply</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#2c5ca5705b0ddc737c3dc5cfcaa93c5a">binary_function</a> func, const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> &rhs) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#cf4a02bd71c486d5e21853128becade3">apply</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#d934c183a31c2616d67d559566bcfecb">binary_int_function</a> func, <a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> idx) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#4f67b58ba90935172f5f379ff0a17e29">apply</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#0006ec312346bc6194210987792e4b38">ternary_function</a> func, const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> &first, const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> &second) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#2595f576b6ccd83bdc8948fe03b89d54">apply</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#eb61a05453f79dfb98d39c9d5c5feca5">int_unary_function</a> func) const </td></tr> <tr><td colspan="2"><div class="groupHeader">Test results from CUDD procedures for validity</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#cd2bc6bf37f9eed1cc8d83a130f80ddf">checkedResult</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> result) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#3201741b2a68cc49d2d59e09e260d167">checkedResult</a> (<a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> result) const </td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class ResultType > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ResultType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#fbe5583631d0dd179981fbec39fcf03e">memApply</a> (ResultType(*func)(DdManager *, <a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a>)) const </td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class ResultType > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ResultType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#cd8e2c336b08d3e2b8df33fc06308a5e">memChecked</a> (ResultType result) const </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_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#7a58ac30da7ec910e04fd7337f71a45f">ddMgr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">(Smart) pointer to decsion diagram management <a href="#7a58ac30da7ec910e04fd7337f71a45f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCuddDDBase.html#24f2ee03c37ed349f712265c1dc07648">node</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Raw pointer to decision diagram node. <a href="#24f2ee03c37ed349f712265c1dc07648"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class DiagramType><br> class polybori::CCuddDDBase< DiagramType ></h3> This template class defines a C++ interface to <code>CUDD's</code> decision diagram structure. <p> The purpose of this wrapper is just to provide an efficient and save way of handling the decision diagrams. It corrects some short-comings of CUDD's built-in interface.<p> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>This template class is intented for internal use only, e.g. as base class for <a class="el" href="classpolybori_1_1CCuddZDD.html" title="This class defines a C++ interface to CUDD's zero-suppressed decision diagram...">CCuddZDD</a>. </dd></dl> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="2c5ca5705b0ddc737c3dc5cfcaa93c5a"></a><!-- doxytag: member="polybori::CCuddDDBase::binary_function" ref="2c5ca5705b0ddc737c3dc5cfcaa93c5a" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#2c5ca5705b0ddc737c3dc5cfcaa93c5a">binary_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#2c5ca5705b0ddc737c3dc5cfcaa93c5a">binary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d934c183a31c2616d67d559566bcfecb"></a><!-- doxytag: member="polybori::CCuddDDBase::binary_int_function" ref="d934c183a31c2616d67d559566bcfecb" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#d934c183a31c2616d67d559566bcfecb">binary_int_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#d934c183a31c2616d67d559566bcfecb">binary_int_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="391b1ffc855218622a50828e60a8b81b"></a><!-- doxytag: member="polybori::CCuddDDBase::diagram_type" ref="391b1ffc855218622a50828e60a8b81b" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef DiagramType <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Name type of *this. <p> </div> </div><p> <a class="anchor" name="6453877e3548045687e5152adb0ae715"></a><!-- doxytag: member="polybori::CCuddDDBase::errorfunc_type" ref="6453877e3548045687e5152adb0ae715" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#6453877e3548045687e5152adb0ae715">errorfunc_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#6453877e3548045687e5152adb0ae715">errorfunc_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="8f9a623b7ad55fec18ed53940c7bfaa3"></a><!-- doxytag: member="polybori::CCuddDDBase::idx_type" ref="8f9a623b7ad55fec18ed53940c7bfaa3" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="eb61a05453f79dfb98d39c9d5c5feca5"></a><!-- doxytag: member="polybori::CCuddDDBase::int_unary_function" ref="eb61a05453f79dfb98d39c9d5c5feca5" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#eb61a05453f79dfb98d39c9d5c5feca5">int_unary_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#eb61a05453f79dfb98d39c9d5c5feca5">int_unary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="170765ab7e98459affc70f080d902632"></a><!-- doxytag: member="polybori::CCuddDDBase::large_size_type" ref="170765ab7e98459affc70f080d902632" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#170765ab7e98459affc70f080d902632">large_size_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#170765ab7e98459affc70f080d902632">large_size_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d97630bfe1a2281ef8a8e1e592e7fe6c"></a><!-- doxytag: member="polybori::CCuddDDBase::mgrcore_ptr" ref="d97630bfe1a2281ef8a8e1e592e7fe6c" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html#e019decfc7c24d36400cf8bf9c5f8f60">CCuddCore::mgrcore_ptr</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Define shared pointer type for handling the decision diagram manager. <p> </div> </div><p> <a class="anchor" name="62dc14b3b4af93943bb4ef30c5be22b4"></a><!-- doxytag: member="polybori::CCuddDDBase::mgrcore_type" ref="62dc14b3b4af93943bb4ef30c5be22b4" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#62dc14b3b4af93943bb4ef30c5be22b4">mgrcore_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#62dc14b3b4af93943bb4ef30c5be22b4">mgrcore_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0df8ce4ffc18a36ae6787e685c16379d"></a><!-- doxytag: member="polybori::CCuddDDBase::node_type" ref="0df8ce4ffc18a36ae6787e685c16379d" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="1bc4fb0fdbe106a0d85ae5c0e70a5662"></a><!-- doxytag: member="polybori::CCuddDDBase::refcount_type" ref="1bc4fb0fdbe106a0d85ae5c0e70a5662" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#1bc4fb0fdbe106a0d85ae5c0e70a5662">refcount_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#1bc4fb0fdbe106a0d85ae5c0e70a5662">refcount_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="48b1110773e989dd749f90b32b4a2f7d"></a><!-- doxytag: member="polybori::CCuddDDBase::self" ref="48b1110773e989dd749f90b32b4a2f7d" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddDDBase.html">CCuddDDBase</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html">self</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CCuddZDD.html#5482a8472d5ec705d90b9daf501acd98">polybori::CCuddZDD</a>.</p> </div> </div><p> <a class="anchor" name="25ffbfd2274f96d27dff919bf327f649"></a><!-- doxytag: member="polybori::CCuddDDBase::size_type" ref="25ffbfd2274f96d27dff919bf327f649" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0006ec312346bc6194210987792e4b38"></a><!-- doxytag: member="polybori::CCuddDDBase::ternary_function" ref="0006ec312346bc6194210987792e4b38" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#0006ec312346bc6194210987792e4b38">ternary_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#0006ec312346bc6194210987792e4b38">ternary_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="89ab096598f13ddbb34fec90f6bd6616"></a><!-- doxytag: member="polybori::CCuddDDBase::unary_int_function" ref="89ab096598f13ddbb34fec90f6bd6616" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#89ab096598f13ddbb34fec90f6bd6616">unary_int_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#89ab096598f13ddbb34fec90f6bd6616">unary_int_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f69191c127eda8bec7d92b0442175722"></a><!-- doxytag: member="polybori::CCuddDDBase::void_function" ref="f69191c127eda8bec7d92b0442175722" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classpolybori_1_1CCuddCore.html">CCuddCore</a> ::<a class="el" href="classpolybori_1_1CCuddDDBase.html#f69191c127eda8bec7d92b0442175722">void_function</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#f69191c127eda8bec7d92b0442175722">void_function</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="54b223d77e9f38554e8608e972f9738a"></a><!-- doxytag: member="polybori::CCuddDDBase::CCuddDDBase" ref="54b223d77e9f38554e8608e972f9738a" args="(mgrcore_ptr ddManager, node_type ddNode)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html">CCuddDDBase</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> </td> <td class="paramname"> <em>ddManager</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td> <td class="paramname"> <em>ddNode</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct diagram from raw CUDD elements. <p> </div> </div><p> <a class="anchor" name="cf757afe175b2fbb1f4588941701962e"></a><!-- doxytag: member="polybori::CCuddDDBase::CCuddDDBase" ref="cf757afe175b2fbb1f4588941701962e" args="(const self &from)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html">CCuddDDBase</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html">self</a> & </td> <td class="paramname"> <em>from</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. <p> </div> </div><p> <a class="anchor" name="3644d297a92973d85c50a3c4028f2ed8"></a><!-- doxytag: member="polybori::CCuddDDBase::CCuddDDBase" ref="3644d297a92973d85c50a3c4028f2ed8" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html">CCuddDDBase</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="2595f576b6ccd83bdc8948fe03b89d54"></a><!-- doxytag: member="polybori::CCuddDDBase::apply" ref="2595f576b6ccd83bdc8948fe03b89d54" args="(int_unary_function func) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#eb61a05453f79dfb98d39c9d5c5feca5">int_unary_function</a> </td> <td class="paramname"> <em>func</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4f67b58ba90935172f5f379ff0a17e29"></a><!-- doxytag: member="polybori::CCuddDDBase::apply" ref="4f67b58ba90935172f5f379ff0a17e29" args="(ternary_function func, const diagram_type &first, const diagram_type &second) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0006ec312346bc6194210987792e4b38">ternary_function</a> </td> <td class="paramname"> <em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> & </td> <td class="paramname"> <em>first</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> & </td> <td class="paramname"> <em>second</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> </div> </div><p> <a class="anchor" name="cf4a02bd71c486d5e21853128becade3"></a><!-- doxytag: member="polybori::CCuddDDBase::apply" ref="cf4a02bd71c486d5e21853128becade3" args="(binary_int_function func, idx_type idx) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d934c183a31c2616d67d559566bcfecb">binary_int_function</a> </td> <td class="paramname"> <em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> </td> <td class="paramname"> <em>idx</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> </div> </div><p> <a class="anchor" name="c8b0d225e46d231ee2231d8ff9a55da3"></a><!-- doxytag: member="polybori::CCuddDDBase::apply" ref="c8b0d225e46d231ee2231d8ff9a55da3" args="(binary_function func, const diagram_type &rhs) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::apply </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#2c5ca5705b0ddc737c3dc5cfcaa93c5a">binary_function</a> </td> <td class="paramname"> <em>func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> & </td> <td class="paramname"> <em>rhs</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> </div> </div><p> <a class="anchor" name="3201741b2a68cc49d2d59e09e260d167"></a><!-- doxytag: member="polybori::CCuddDDBase::checkedResult" ref="3201741b2a68cc49d2d59e09e260d167" args="(idx_type result) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::checkedResult </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#8f9a623b7ad55fec18ed53940c7bfaa3">idx_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="cd2bc6bf37f9eed1cc8d83a130f80ddf"></a><!-- doxytag: member="polybori::CCuddDDBase::checkedResult" ref="cd2bc6bf37f9eed1cc8d83a130f80ddf" args="(node_type result) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::checkedResult </td> <td>(</td> <td class="paramtype"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="be6c7c1eea057734a00785b4cdd398dd"></a><!-- doxytag: member="polybori::CCuddDDBase::checkReturnValue" ref="be6c7c1eea057734a00785b4cdd398dd" args="(const int result, const int expected=1) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::checkReturnValue </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"> <em>expected</em> = <code>1</code></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> Check whether previous decision diagram operation for validity. <p> </div> </div><p> <a class="anchor" name="15929bf2955abb55a92d2f52ecf71d7c"></a><!-- doxytag: member="polybori::CCuddDDBase::checkReturnValue" ref="15929bf2955abb55a92d2f52ecf71d7c" args="(const node_type result) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::checkReturnValue </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check whether decision diagram operation in computing result was valid. <p> </div> </div><p> <a class="anchor" name="fe4d5ec8989e7288c3b7d4b4eb0b7e61"></a><!-- doxytag: member="polybori::CCuddDDBase::checkSameManager" ref="fe4d5ec8989e7288c3b7d4b4eb0b7e61" args="(const diagram_type &other) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::checkSameManager </td> <td>(</td> <td class="paramtype">const <a class="el" href="classpolybori_1_1CCuddDDBase.html#391b1ffc855218622a50828e60a8b81b">diagram_type</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Test, whether both operands. <p> </div> </div><p> <a class="anchor" name="b6bd2a5d6c2d60fde0f8b1014c0828e3"></a><!-- doxytag: member="polybori::CCuddDDBase::getManager" ref="b6bd2a5d6c2d60fde0f8b1014c0828e3" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#62dc14b3b4af93943bb4ef30c5be22b4">mgrcore_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::getManager </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get raw decision diagram manager. <p> <p>Referenced by <a class="el" href="CCuddZDD_8h_source.html#l00149">polybori::CCuddDDBase< CCuddZDD >::checkSameManager()</a>.</p> </div> </div><p> <a class="anchor" name="06ac24d1a26a7d8c747446ac3c366ae3"></a><!-- doxytag: member="polybori::CCuddDDBase::getNode" ref="06ac24d1a26a7d8c747446ac3c366ae3" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::getNode </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get raw node structure. <p> <p>Referenced by <a class="el" href="CCuddZDD_8h_source.html#l00167">polybori::CCuddDDBase< CCuddZDD >::apply()</a>.</p> </div> </div><p> <a class="anchor" name="21fb4ba7b2c5ebfd589d8165b80e0295"></a><!-- doxytag: member="polybori::CCuddDDBase::isZero" ref="21fb4ba7b2c5ebfd589d8165b80e0295" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::isZero </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Test whether diagram represents the empty set. <p> </div> </div><p> <a class="anchor" name="62a8036bffec87b45672752686a04d3e"></a><!-- doxytag: member="polybori::CCuddDDBase::manager" ref="62a8036bffec87b45672752686a04d3e" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::manager </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get (shared) pointer to decision diagram manager. <p> </div> </div><p> <a class="anchor" name="fbe5583631d0dd179981fbec39fcf03e"></a><!-- doxytag: member="polybori::CCuddDDBase::memApply" ref="fbe5583631d0dd179981fbec39fcf03e" args="(ResultType(*func)(DdManager *, node_type)) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <div class="memtemplate"> template<class ResultType > </div> <table class="memname"> <tr> <td class="memname">ResultType <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::memApply </td> <td>(</td> <td class="paramtype">ResultType(*)(DdManager *, <a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a>) </td> <td class="paramname"> <em>func</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="cd8e2c336b08d3e2b8df33fc06308a5e"></a><!-- doxytag: member="polybori::CCuddDDBase::memChecked" ref="cd8e2c336b08d3e2b8df33fc06308a5e" args="(ResultType result) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <div class="memtemplate"> template<class ResultType > </div> <table class="memname"> <tr> <td class="memname">ResultType <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::memChecked </td> <td>(</td> <td class="paramtype">ResultType </td> <td class="paramname"> <em>result</em> </td> <td> ) </td> <td> const<code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3bc0fe9f735dc69549f1470b58fcd465"></a><!-- doxytag: member="polybori::CCuddDDBase::nodeCount" ref="3bc0fe9f735dc69549f1470b58fcd465" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::nodeCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Number of nodes in the current decision diagram. <p> </div> </div><p> <a class="anchor" name="0bf668194d6ec1daca72e5b00ef912b8"></a><!-- doxytag: member="polybori::CCuddDDBase::NodeReadIndex" ref="0bf668194d6ec1daca72e5b00ef912b8" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::NodeReadIndex </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get index of curent node. <p> </div> </div><p> <a class="anchor" name="e9dbfa150d454a862e89df86387b8b11"></a><!-- doxytag: member="polybori::CCuddDDBase::refCount" ref="e9dbfa150d454a862e89df86387b8b11" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#25ffbfd2274f96d27dff919bf327f649">size_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::refCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Number of references pointing here. <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="7a58ac30da7ec910e04fd7337f71a45f"></a><!-- doxytag: member="polybori::CCuddDDBase::ddMgr" ref="7a58ac30da7ec910e04fd7337f71a45f" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#d97630bfe1a2281ef8a8e1e592e7fe6c">mgrcore_ptr</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#7a58ac30da7ec910e04fd7337f71a45f">ddMgr</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> (Smart) pointer to decsion diagram management <p> <p>Referenced by <a class="el" href="CCuddZDD_8h_source.html#l00355">polybori::CCuddZDD::operator=()</a>.</p> </div> </div><p> <a class="anchor" name="24f2ee03c37ed349f712265c1dc07648"></a><!-- doxytag: member="polybori::CCuddDDBase::node" ref="24f2ee03c37ed349f712265c1dc07648" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class DiagramType> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCuddDDBase.html#0df8ce4ffc18a36ae6787e685c16379d">node_type</a> <a class="el" href="classpolybori_1_1CCuddDDBase.html">polybori::CCuddDDBase</a>< DiagramType >::<a class="el" href="classpolybori_1_1CCuddDDBase.html#24f2ee03c37ed349f712265c1dc07648">node</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Raw pointer to decision diagram node. <p> <p>Referenced by <a class="el" href="CCuddZDD_8h_source.html#l00355">polybori::CCuddZDD::operator=()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="CCuddZDD_8h_source.html">CCuddZDD.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:01 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>