MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
MGGelFactoryRegistry クラス

オブジェクトファクトリークラス. [詳解]

公開型

typedef long KeyType
 
typedef std::map< KeyType,
MGGelFactoryBase * > 
TypeMap
 

公開メンバ関数

 ~MGGelFactoryRegistry ()
 
MGGelcreate_gel (const KeyType &name) const
 
void register_factory (const KeyType &name, MGGelFactoryBase *factory)
 
void unregister_factory (const KeyType &name)
 
void unregister_factory (MGGelFactoryBase *factory)
 

静的公開メンバ関数

static MGGelFactoryRegistryget_instance ()
 
static bool is_valid ()
 

詳解

オブジェクトファクトリークラス.

サンプル

MGObject* MGNullObj(long TID){ MGGelFactoryRegistry* reg = MGGelFactoryRegistry::get_instance(); return static_cast<MGObject*>(reg->create_gel(TID)); }

型定義メンバ詳解

構築子と解体子

MGGelFactoryRegistry::~MGGelFactoryRegistry ( )

デストラクター

事後条件
is_valid() が false を返す。
例外
n/a

関数詳解

MGGel* MGGelFactoryRegistry::create_gel ( const KeyType name) const

名前からオブジェクトを作成する。

引数
[in]name名前
戻り値
MGGel new オブジェクト。
例外
n/a存在しないタイプの場合、ヌルを返す。
static MGGelFactoryRegistry* MGGelFactoryRegistry::get_instance ( )
static

シングルトンアクセス。

戻り値
MGGelFactory ファクトリーオブジェクト。
事後条件
is_valid() が true を返す。
例外
n/a
static bool MGGelFactoryRegistry::is_valid ( )
static

クラスオブジェクトが有効かどうかを返す。

戻り値
bool 有効ならば(デストラクターが呼ばれていなければ)true
例外
n/a
void MGGelFactoryRegistry::register_factory ( const KeyType name,
MGGelFactoryBase factory 
)

ファクトリーオブジェクトを登録する。

引数
[in]name名前
[in]factoryファクトリーオブジェクト
事前条件
is_valid() が true を返す。
void MGGelFactoryRegistry::unregister_factory ( const KeyType name)

ファクトリーオブジェクトを登録から削除する。

引数
[in]name名前
事前条件
is_valid() が true を返す。
例外
n/a
void MGGelFactoryRegistry::unregister_factory ( MGGelFactoryBase factory)

ファクトリーオブジェクトを登録から削除する。

引数
[in]factoryファクトリーオブジェクト
事前条件
is_valid() が true を返す。
例外
n/a

このクラス詳解は次のファイルから抽出されました: