<!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::CCacheManagement< CacheType, ArgumentLength > 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_1CCacheManagement.html">CCacheManagement</a> </div> </div> <div class="contents"> <h1>polybori::CCacheManagement< CacheType, ArgumentLength > Class Template Reference</h1><!-- doxytag: class="polybori::CCacheManagement" --><!-- doxytag: inherits="CCacheManBase< CTypes::manager_base, CacheType, ArgumentLength >" -->This template class forms the base for <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html">CCommutativeCacheManagement</a> and <a class="el" href="classpolybori_1_1CacheManager.html">CacheManager</a>. It is an interface defining find and <a class="el" href="classinsert.html" title="Accessing .insert().">insert</a> on decision diagram cache. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="CCacheManagement_8h_source.html">CCacheManagement.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for polybori::CCacheManagement< CacheType, ArgumentLength >:</div> <div class="dynsection"> <p><center><img src="classpolybori_1_1CCacheManagement.png" usemap="#polybori::CCacheManagement< CacheType, ArgumentLength >_map" border="0" alt=""></center> <map name="polybori::CCacheManagement< CacheType, ArgumentLength >_map"> <area href="classCCacheManBase.html" alt="CCacheManBase< CTypes::manager_base, CacheType, ArgumentLength >" shape="rect" coords="0,0,442,24"> </map> </div> <p> <a href="classpolybori_1_1CCacheManagement-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 <a class="el" href="classCCacheManBase.html">CCacheManBase</a><br class="typebreak"> < <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a>, <a class="el" href="classpolybori_1_1CCacheManagement.html#0bf5ffaeba7e83ca60483311461d68d5">cache_type</a>, <br class="typebreak"> nargs > </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCacheManagement.html#ca09d8cd0184ebee421ce4eea81d97cf">base</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Name base type. <a href="#ca09d8cd0184ebee421ce4eea81d97cf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef base::node_type </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCacheManagement.html#9e2ef638540a2f6722fc1db3c01ccfe1">node_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extracting inherited node type. <a href="#9e2ef638540a2f6722fc1db3c01ccfe1"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Get template parameters and global types</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="classpolybori_1_1CCacheManagement.html#8c58807ab46c74a599611ccfec4d3b978a8386cb5b19eed8ec993157e593d208">nargs</a> = ArgumentLength }</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_1CCacheManagement.html#243a55e9e7aaa5d64193fe77f92401a9">manager_type</a></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_1CCacheManagement.html#2253b1c5e270190dbbb73d7f0aaac742">idx_type</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CacheType </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1CCacheManagement.html#0bf5ffaeba7e83ca60483311461d68d5">cache_type</a></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_1CCacheManagement.html#65839b3419c213733da1c55f7a03260d">CCacheManagement</a> (const <a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> &mgr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor and default constructor. <a href="#65839b3419c213733da1c55f7a03260d"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class CacheType, unsigned ArgumentLength = CacheType::nargs><br> class polybori::CCacheManagement< CacheType, ArgumentLength ></h3> This template class forms the base for <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html">CCommutativeCacheManagement</a> and <a class="el" href="classpolybori_1_1CacheManager.html">CacheManager</a>. It is an interface defining find and <a class="el" href="classinsert.html" title="Accessing .insert().">insert</a> on decision diagram cache. <p> It it mainly a wrapper for the template specialization of <a class="el" href="classCCacheManBase.html" title="This template forms the base for CCacheManagement. It implements routines for finding...">CCacheManBase</a>, which allows a simple call of CCacheManagement<CacheType>, if CacheType is inherited from unary_cache_tag, binary_cache_tag, and ternary_cache_tag. It also fixes the ManagerType to <a class="el" href="structpolybori_1_1CTypes.html#c46ca274b7cd7352e19eb68a205a883c" title="Variables manager base type.">CTypes::manager_base</a>. <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="ca09d8cd0184ebee421ce4eea81d97cf"></a><!-- doxytag: member="polybori::CCacheManagement::base" ref="ca09d8cd0184ebee421ce4eea81d97cf" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classCCacheManBase.html">CCacheManBase</a><<a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a>, <a class="el" href="classpolybori_1_1CCacheManagement.html#0bf5ffaeba7e83ca60483311461d68d5">cache_type</a>, nargs> <a class="el" href="classpolybori_1_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classCCacheManBase.html">base</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Name base type. <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CacheManager.html#ebed9f58ba363c692243e42d5211e580">polybori::CacheManager< CacheType ></a>, <a class="el" href="classpolybori_1_1CommutativeCacheManager.html#ea48574779b8ad260bf568855ceca18b">polybori::CommutativeCacheManager< CacheType ></a>, <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#3e2d9b6568e9d3ddde0b8ea3b18a92d0">polybori::CCommutativeCacheManagement< CacheType ></a>, <a class="el" href="classpolybori_1_1CDegreeCache.html#7c2b6a785ed7489f2e150e2c42c83faa">polybori::CDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#24bbbfd1977a65b32e5606874d260bfa">polybori::CBlockDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CDegreeArgumentCache.html#199db5177e8df3e68afcac3a9e30bf4d">polybori::CDegreeArgumentCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#3e2d9b6568e9d3ddde0b8ea3b18a92d0">polybori::CCommutativeCacheManagement< CacheType ></a>, and <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#24bbbfd1977a65b32e5606874d260bfa">polybori::CBlockDegreeCache< CCacheTypes::block_degree, CTypes::dd_type ></a>.</p> </div> </div><p> <a class="anchor" name="0bf5ffaeba7e83ca60483311461d68d5"></a><!-- doxytag: member="polybori::CCacheManagement::cache_type" ref="0bf5ffaeba7e83ca60483311461d68d5" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </div> <table class="memname"> <tr> <td class="memname">typedef CacheType <a class="el" href="classpolybori_1_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classpolybori_1_1CCacheManagement.html#0bf5ffaeba7e83ca60483311461d68d5">cache_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#967021ff527f19f1b4d00272d6b97039">polybori::CCommutativeCacheManagement< CacheType ></a>, and <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#967021ff527f19f1b4d00272d6b97039">polybori::CCommutativeCacheManagement< CacheType ></a>.</p> </div> </div><p> <a class="anchor" name="2253b1c5e270190dbbb73d7f0aaac742"></a><!-- doxytag: member="polybori::CCacheManagement::idx_type" ref="2253b1c5e270190dbbb73d7f0aaac742" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </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_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classpolybori_1_1CCacheManagement.html#2253b1c5e270190dbbb73d7f0aaac742">idx_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#7a192c265a66bbd5d1224564e11edb53">polybori::CBlockDegreeCache< TagType, DDType ></a>, and <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#7a192c265a66bbd5d1224564e11edb53">polybori::CBlockDegreeCache< CCacheTypes::block_degree, CTypes::dd_type ></a>.</p> </div> </div><p> <a class="anchor" name="243a55e9e7aaa5d64193fe77f92401a9"></a><!-- doxytag: member="polybori::CCacheManagement::manager_type" ref="243a55e9e7aaa5d64193fe77f92401a9" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </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_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classpolybori_1_1CCuddInterface.html">manager_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CacheManager.html#6c0a2ec76585eed0622f2b4406d4b385">polybori::CacheManager< CacheType ></a>, <a class="el" href="classpolybori_1_1CommutativeCacheManager.html#9915eb92f32918a2faee5301bb31837d">polybori::CommutativeCacheManager< CacheType ></a>, <a class="el" href="classpolybori_1_1CDegreeCache.html#f4b514520ab9f6e3f70914450f90dd04">polybori::CDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#880600106b38226654114a8b6bc2430c">polybori::CBlockDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CDegreeArgumentCache.html#035f4993522d5dceee27c2ce717d0015">polybori::CDegreeArgumentCache< TagType, DDType ></a>, and <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#880600106b38226654114a8b6bc2430c">polybori::CBlockDegreeCache< CCacheTypes::block_degree, CTypes::dd_type ></a>.</p> </div> </div><p> <a class="anchor" name="9e2ef638540a2f6722fc1db3c01ccfe1"></a><!-- doxytag: member="polybori::CCacheManagement::node_type" ref="9e2ef638540a2f6722fc1db3c01ccfe1" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </div> <table class="memname"> <tr> <td class="memname">typedef base::node_type <a class="el" href="classpolybori_1_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classpolybori_1_1CCacheManagement.html#9e2ef638540a2f6722fc1db3c01ccfe1">node_type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Extracting inherited node type. <p> <p>Reimplemented in <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#66d7d7b1725844aa768628fe36b52f34">polybori::CCommutativeCacheManagement< CacheType ></a>, <a class="el" href="classpolybori_1_1CDegreeCache.html#7ed3a98b1054d79d5cc82573aaff365d">polybori::CDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#e062a8fdbd2816ab83eac303a012363e">polybori::CBlockDegreeCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CDegreeArgumentCache.html#d14ecb25c4d60a2d2d05cc5e2ec67305">polybori::CDegreeArgumentCache< TagType, DDType ></a>, <a class="el" href="classpolybori_1_1CCommutativeCacheManagement.html#66d7d7b1725844aa768628fe36b52f34">polybori::CCommutativeCacheManagement< CacheType ></a>, and <a class="el" href="classpolybori_1_1CBlockDegreeCache.html#e062a8fdbd2816ab83eac303a012363e">polybori::CBlockDegreeCache< CCacheTypes::block_degree, CTypes::dd_type ></a>.</p> </div> </div><p> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="8c58807ab46c74a599611ccfec4d3b97"></a><!-- doxytag: member="polybori::CCacheManagement::@10" ref="8c58807ab46c74a599611ccfec4d3b97" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </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="8c58807ab46c74a599611ccfec4d3b978a8386cb5b19eed8ec993157e593d208"></a><!-- doxytag: member="nargs" ref="8c58807ab46c74a599611ccfec4d3b978a8386cb5b19eed8ec993157e593d208" args="" -->nargs</em> </td><td> </td></tr> </table> </dl> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="65839b3419c213733da1c55f7a03260d"></a><!-- doxytag: member="polybori::CCacheManagement::CCacheManagement" ref="65839b3419c213733da1c55f7a03260d" args="(const manager_type &mgr)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class CacheType, unsigned ArgumentLength = CacheType::nargs> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classpolybori_1_1CCacheManagement.html">polybori::CCacheManagement</a>< CacheType, ArgumentLength >::<a class="el" href="classpolybori_1_1CCacheManagement.html">CCacheManagement</a> </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> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor and default constructor. <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="CCacheManagement_8h_source.html">CCacheManagement.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>