#include <memutil.hpp>
langedge::RecycledInstancePool< T, Alloc >のコラボレーション図

Public メソッド | |
| RecycledInstancePool () | |
| ~RecycledInstancePool () | |
| T * | getInstance () |
| インスタンスを得る. | |
| T * | cloneInstance (const T &obj) |
| クローンインスタンスを得る. | |
| void | putbackInstance (T *pObj) |
| インスタンスを返す. | |
リンクトリストによって不要になったインスタンスを管理し、再利用する。 NewByBlockAllocator の派生クラスのインスタンスを管理することを 念頭においている。
| T | 管理されるインスタンスのクラス。T は、デフォルトコンストラクタ、 コピーコンストラクタ、代入オペレータ、Alloc型オブジェクト を引数とする placement new、および void initialize() (デフォルト コンストラクタが行う初期化) を持つ必要がある。 さらに、public なメンバ関数として、リンクポインタを繰作する setNext()/getNext() を持つ必要がある。これは、次に定義する LinkPtrBase テンプレートクラスを使って実装すればよい。 | |
| Alloc | インスタンスのアロケータの型。このオブジェクトは、 自身がデストラクトされる時にそれまで保持していたメモリ領域を 解放する必要がある。 |
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
インスタンスを得る. フリーリストが空なら、 T のデフォルトコンストラクタを使用して新しいインスタンスを生成する |
|
||||||||||
|
クローンインスタンスを得る. フリーリストが空なら、 T のコピーコンストラクタを使用して新しいインスタンスを生成する |
|
||||||||||
|
インスタンスを返す.
|
1.4.2