Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > bfea28f33e7373c31a33dc7387b2a0be > files > 22

loki-lib-doc-0.1.7-2.fc12.noarch.rpm

<!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&lt; AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector &gt; 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&nbsp;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>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;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&lt; AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector &gt; 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 &lt;CachedFactory.h&gt;</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&lt; IdentifierType &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#be003d4613debd4079cf26f5c13aabc6">RegisteredIds</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#c307db6556acef8179a260db4d573440">ReleaseObject</a> (ProductReturn &amp;object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#26534687a259fa84dcbb21c388a72134">displayCacheType</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display the cache configuration <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class AbstractProduct, typename IdentifierType, typename CreatorParmTList = NullType, template&lt; class &gt; class EncapsulationPolicy = SimplePointer, class CreationPolicy = AlwaysCreate, template&lt; typename, typename &gt; class EvictionPolicy = EvictRandom, class StatisticPolicy = NoStatisticPolicy, template&lt; typename, class &gt; class FactoryErrorPolicy = DefaultFactoryError, class ObjVector = std::vector&lt;AbstractProduct*&gt;&gt;<br>
 class Loki::CachedFactory&lt; AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector &gt;</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 &amp;object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class AbstractProduct , typename IdentifierType , typename CreatorParmTList  = NullType, template&lt; class &gt; class EncapsulationPolicy = SimplePointer, class CreationPolicy  = AlwaysCreate, template&lt; typename, typename &gt; class EvictionPolicy = EvictRandom, class StatisticPolicy  = NoStatisticPolicy, template&lt; typename, class &gt; class FactoryErrorPolicy = DefaultFactoryError, class ObjVector  = std::vector&lt;AbstractProduct*&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00014.html">Loki::CachedFactory</a>&lt; AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector &gt;::ReleaseObject           </td>
          <td>(</td>
          <td class="paramtype">ProductReturn &amp;&nbsp;</td>
          <td class="paramname"> <em>object</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;
<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>