<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Loki: Loki::CachedFactory< AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector > 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.8 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</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> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul> </div> <div class="tabs"> <ul> <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 class="navpath"><a class="el" href="a00192.html">Loki</a>::<a class="el" href="a00014.html">CachedFactory</a> </div> </div> <div class="contents"> <h1>Loki::CachedFactory< AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector > Class Template Reference<br> <small> [<a class="el" href="a00200.html">Cached Factory</a>]</small> </h1><!-- doxytag: class="Loki::CachedFactory" --><a class="el" href="a00055.html">Factory</a> with caching support. <a href="#_details">More...</a> <p> <code>#include <CachedFactory.h></code> <p> <p> <a href="a00295.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be003d4613debd4079cf26f5c13aabc6"></a><!-- doxytag: member="Loki::CachedFactory::RegisteredIds" ref="be003d4613debd4079cf26f5c13aabc6" args="()" --> std::vector< IdentifierType > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#be003d4613debd4079cf26f5c13aabc6">RegisteredIds</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the registered ID in this <a class="el" href="a00055.html">Factory</a>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#c307db6556acef8179a260db4d573440">ReleaseObject</a> (ProductReturn &object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use this function to release the object. <a href="#c307db6556acef8179a260db4d573440"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26534687a259fa84dcbb21c388a72134"></a><!-- doxytag: member="Loki::CachedFactory::displayCacheType" ref="26534687a259fa84dcbb21c388a72134" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#26534687a259fa84dcbb21c388a72134">displayCacheType</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">display the cache configuration <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class AbstractProduct, typename IdentifierType, typename CreatorParmTList = NullType, template< class > class EncapsulationPolicy = SimplePointer, class CreationPolicy = AlwaysCreate, template< typename, typename > class EvictionPolicy = EvictRandom, class StatisticPolicy = NoStatisticPolicy, template< typename, class > class FactoryErrorPolicy = DefaultFactoryError, class ObjVector = std::vector<AbstractProduct*>><br> class Loki::CachedFactory< AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector ></h3> <a class="el" href="a00055.html">Factory</a> with caching support. <p> This class acts as a <a class="el" href="a00055.html">Factory</a> (it creates objects) but also keeps the already created objects to prevent long constructions time.<p> Note this implementation do not retain ownership. <hr><h2>Member Function Documentation</h2> <a class="anchor" name="c307db6556acef8179a260db4d573440"></a><!-- doxytag: member="Loki::CachedFactory::ReleaseObject" ref="c307db6556acef8179a260db4d573440" args="(ProductReturn &object)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class AbstractProduct , typename IdentifierType , typename CreatorParmTList = NullType, template< class > class EncapsulationPolicy = SimplePointer, class CreationPolicy = AlwaysCreate, template< typename, typename > class EvictionPolicy = EvictRandom, class StatisticPolicy = NoStatisticPolicy, template< typename, class > class FactoryErrorPolicy = DefaultFactoryError, class ObjVector = std::vector<AbstractProduct*>> </div> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00014.html">Loki::CachedFactory</a>< AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector >::ReleaseObject </td> <td>(</td> <td class="paramtype">ProductReturn & </td> <td class="paramname"> <em>object</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Use this function to release the object. <p> if execution brakes in this function then you tried to release an object that wasn't provided by this Cache ... which is bad :-) </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>CachedFactory.h</ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 29 18:51:42 2009 for Loki by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> </body> </html>