⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpfactory.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title> TemplatePFactory&lt; _Abstract_T, _Key_T &gt; class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>PFactory&lt; _Abstract_T, _Key_T &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="pfactory_8h-source.html">pfactory.h</a>&gt;</code><p><p>Inheritance diagram for PFactory&lt; _Abstract_T, _Key_T &gt;:<p><center><img src="classPFactory.png" usemap="#PFactory< _Abstract_T, _Key_T >_map" border="0" alt=""></center><map name="PFactory< _Abstract_T, _Key_T >_map"><area href="classPFactoryBase.html" alt="PFactoryBase" shape="rect" coords="0,0,283,24"><area href="classPDevicePluginFactory.html" alt="PDevicePluginFactory< _Abstract_T, _Key_T >" shape="rect" coords="0,112,283,136"></map><a href="classPFactory-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 nowrap align=right valign=top>typedef _Key_T&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#s0">Key_T</a></td></tr><tr><td nowrap align=right valign=top>typedef _Abstract_T&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#s1">Abstract_T</a></td></tr><tr><td nowrap align=right valign=top>typedef std::map&lt; _Key_T,<br> <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#s2">KeyMap_T</a></td></tr><tr><td nowrap align=right valign=top>typedef std::vector&lt; _Key_T &gt;&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#s3">KeyList_T</a></td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d0">Register</a> (const _Key_T &amp;key, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *worker)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d1">Register</a> (const _Key_T &amp;key, <a class="el" href="classPFactory.html#s1">Abstract_T</a> *instance)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d2">Unregister</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d3">UnregisterAll</a> ()</td></tr><tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d4">IsRegistered</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>_Abstract_T *&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d5">CreateInstance</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d6">IsSingleton</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s3">KeyList_T</a>&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d7">GetKeyList</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s2">KeyMap_T</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d8">GetKeyMap</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPMutex.html">PMutex</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#d9">GetMutex</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b0">PFactory</a> ()</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b1">~PFactory</a> ()</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b2">Register_Internal</a> (const _Key_T &amp;key, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *worker)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b3">Unregister_Internal</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b4">UnregisterAll_Internal</a> ()</td></tr><tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b5">IsRegistered_Internal</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>_Abstract_T *&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b6">CreateInstance_Internal</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b7">IsSingleton_Internal</a> (const _Key_T &amp;key)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s3">KeyList_T</a>&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#b8">GetKeyList_Internal</a> ()</td></tr><tr><td colspan=2><br><h2>Static Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>PFactory &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#e0">GetInstance</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s2">KeyMap_T</a>&nbsp;</td><td valign=bottom><a class="el" href="classPFactory.html#n0">keyMap</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2><h3>template&lt;class _Abstract_T, typename _Key_T = PString&gt;<br> class PFactory&lt; _Abstract_T, _Key_T &gt;</h3>Template class for generic factories of an abstract class. <p><hr><h2>Member Typedef Documentation</h2><a name="s1" doxytag="PFactory::Abstract_T"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> typedef _Abstract_T PFactory&lt; _Abstract_T, _Key_T &gt;::Abstract_T      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="s0" doxytag="PFactory::Key_T"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> typedef _Key_T PFactory&lt; _Abstract_T, _Key_T &gt;::Key_T      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="s3" doxytag="PFactory::KeyList_T"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> typedef std::vector&lt;_Key_T&gt; PFactory&lt; _Abstract_T, _Key_T &gt;::KeyList_T      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="s2" doxytag="PFactory::KeyMap_T"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> typedef std::map&lt;_Key_T, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *&gt; PFactory&lt; _Abstract_T, _Key_T &gt;::KeyMap_T      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a name="b0" doxytag="PFactory::PFactory"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> PFactory&lt; _Abstract_T, _Key_T &gt;::PFactory </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b1" doxytag="PFactory::~PFactory"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> PFactory&lt; _Abstract_T, _Key_T &gt;::~PFactory </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><hr><h2>Member Function Documentation</h2><a name="d5" doxytag="PFactory::CreateInstance"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> _Abstract_T* PFactory&lt; _Abstract_T, _Key_T &gt;::CreateInstance </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const _Key_T &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>key</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b6" doxytag="PFactory::CreateInstance_Internal"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> _Abstract_T* PFactory&lt; _Abstract_T, _Key_T &gt;::CreateInstance_Internal </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const _Key_T &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>key</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="e0" doxytag="PFactory::GetInstance"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> PFactory&amp; PFactory&lt; _Abstract_T, _Key_T &gt;::GetInstance </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, static, protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d7" doxytag="PFactory::GetKeyList"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s3">KeyList_T</a> PFactory&lt; _Abstract_T, _Key_T &gt;::GetKeyList </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="b8" doxytag="PFactory::GetKeyList_Internal"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s3">KeyList_T</a> PFactory&lt; _Abstract_T, _Key_T &gt;::GetKeyList_Internal </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d8" doxytag="PFactory::GetKeyMap"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s2">KeyMap_T</a>&amp; PFactory&lt; _Abstract_T, _Key_T &gt;::GetKeyMap </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d9" doxytag="PFactory::GetMutex"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" colspan="4">template&lt;class _Abstract_T, typename _Key_T = PString&gt; </td>        </tr>        <tr>          <td class="md" nowrap valign="top"> <a class="el" href="classPMutex.html">PMutex</a>&amp; PFactory&lt; _Abstract_T, _Key_T &gt;::GetMutex </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [inline, static]</code></td>        </tr>      </table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -