GameServer
ExecuterPool.h
[詳解]
1 
6 #ifndef __EXECUTERPOOL_H__
7 #define __EXECUTERPOOL_H__
8 
9 #include <map>
10 
11 class ScriptExecuterBase;
12 
23 {
24 
25 public:
26 
31 
38  long Register(ScriptExecuterBase *pExecuter);
39 
40  /*
41  * @fn ScriptExecuterBase *Get(long Id)
42  * @brief 取得
43  * @param[in] Id ID
44  * @return スクリプト実行クラスへのポインタ
45  */
46  ScriptExecuterBase *Get(long Id);
47 
53  void Remove(long Id);
54 
55 private:
56 
57  // プール
58  std::map<long, ScriptExecuterBase *> Pool;
59 
60  // 次に割り振られるID
61  long NextId;
62 
63  // ========== Singleton ============
64 public:
65 
71  static ExecuterPool &GetInstance() { return Instance; }
72 
73 private:
74 
75  ExecuterPool();
76  static ExecuterPool Instance;
77 
78 };
79 
80 #endif // #ifndef __EXECUTERPOOL_H__
~ExecuterPool()
デストラクタ
Definition: ExecuterPool.h:30
void Remove(long Id)
消去
Definition: ExecuterPool.cpp:35
ScriptExecuterBase * Get(long Id)
Definition: ExecuterPool.cpp:28
static ExecuterPool & GetInstance()
シングルトンインスタンスを取得
Definition: ExecuterPool.h:71
スクリプト実行基底クラス
Definition: ScriptExecuterBase.h:19
スクリプト実行オブジェクトプール
Definition: ExecuterPool.h:22
long Register(ScriptExecuterBase *pExecuter)
登録
Definition: ExecuterPool.cpp:19