📄 classpfactory.html
字号:
<!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< _Abstract_T, _Key_T > 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> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PFactory< _Abstract_T, _Key_T > Class Template Reference</h1><code>#include <<a class="el" href="pfactory_8h-source.html">pfactory.h</a>></code><p><p>Inheritance diagram for PFactory< _Abstract_T, _Key_T >:<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 </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 </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< _Key_T,<br> <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> * > </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< _Key_T > </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 </td><td valign=bottom><a class="el" href="classPFactory.html#d0">Register</a> (const _Key_T &key, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *worker)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#d1">Register</a> (const _Key_T &key, <a class="el" href="classPFactory.html#s1">Abstract_T</a> *instance)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#d2">Unregister</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#d3">UnregisterAll</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPFactory.html#d4">IsRegistered</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>_Abstract_T * </td><td valign=bottom><a class="el" href="classPFactory.html#d5">CreateInstance</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPFactory.html#d6">IsSingleton</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s3">KeyList_T</a> </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> & </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> & </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> </td><td valign=bottom><a class="el" href="classPFactory.html#b0">PFactory</a> ()</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPFactory.html#b1">~PFactory</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#b2">Register_Internal</a> (const _Key_T &key, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *worker)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#b3">Unregister_Internal</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPFactory.html#b4">UnregisterAll_Internal</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPFactory.html#b5">IsRegistered_Internal</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>_Abstract_T * </td><td valign=bottom><a class="el" href="classPFactory.html#b6">CreateInstance_Internal</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPFactory.html#b7">IsSingleton_Internal</a> (const _Key_T &key)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPFactory.html#s3">KeyList_T</a> </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 & </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> </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<class _Abstract_T, typename _Key_T = PString><br> class PFactory< _Abstract_T, _Key_T ></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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> typedef _Abstract_T PFactory< _Abstract_T, _Key_T >::Abstract_T </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> typedef _Key_T PFactory< _Abstract_T, _Key_T >::Key_T </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> typedef std::vector<_Key_T> PFactory< _Abstract_T, _Key_T >::KeyList_T </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> typedef std::map<_Key_T, <a class="el" href="classPFactory_1_1WorkerBase.html">WorkerBase</a> *> PFactory< _Abstract_T, _Key_T >::KeyMap_T </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Constructor & 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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> PFactory< _Abstract_T, _Key_T >::PFactory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> PFactory< _Abstract_T, _Key_T >::~PFactory </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> _Abstract_T* PFactory< _Abstract_T, _Key_T >::CreateInstance </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const _Key_T & </td> <td class="mdname1" valign="top" nowrap> <em>key</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> _Abstract_T* PFactory< _Abstract_T, _Key_T >::CreateInstance_Internal </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const _Key_T & </td> <td class="mdname1" valign="top" nowrap> <em>key</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> PFactory& PFactory< _Abstract_T, _Key_T >::GetInstance </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </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> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s3">KeyList_T</a> PFactory< _Abstract_T, _Key_T >::GetKeyList </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s3">KeyList_T</a> PFactory< _Abstract_T, _Key_T >::GetKeyList_Internal </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPFactory.html#s2">KeyMap_T</a>& PFactory< _Abstract_T, _Key_T >::GetKeyMap </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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<class _Abstract_T, typename _Key_T = PString> </td> </tr> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPMutex.html">PMutex</a>& PFactory< _Abstract_T, _Key_T >::GetMutex </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline, static]</code></td> </tr> </table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -