クラス テンプレート ObjectManager< Identifier, Object, Predicate >

オブジェクト管理用クラス [詳細]

#include <ObjectManager.h>

すべてのメンバ一覧

構成

struct  Objects
 オブジェクト管理用構造体 [詳細]

Public 型

typedef std::vector< Object * > ObjectVector
typedef ObjectVector::iterator ObjectVectorItr
typedef
ObjectVector::const_iterator 
ObjectVectorConstItr
typedef coil::Mutex Mutex
typedef coil::Guard< coil::MutexGuard

Public メソッド

 ObjectManager ()
 ~ObjectManager (void)
bool registerObject (Object *obj)
 指定したオブジェクトを登録する
Object * unregisterObject (const Identifier &id)
 指定したオブジェクトを登録解除する
Object * find (const Identifier &id) const
 オブジェクトを検索する
std::vector< Object * > getObjects () const
 登録されているオブジェクトのリストを取得する
template<class Pred >
Pred for_each (Pred p)
 オブジェクト検索用ファンクタ
template<class Pred >
Pred for_each (Pred p) const
 オブジェクト検索用ファンクタ

Protected 変数

Objects m_objects
 登録済みオブジェクト・リスト

説明

template<typename Identifier, typename Object, typename Predicate>
class ObjectManager< Identifier, Object, Predicate >

オブジェクト管理用クラス

各種オブジェクトを管理するためのクラス。

から:
0.4.0

型定義

template<typename Identifier, typename Object, typename Predicate>
typedef coil::Guard<coil::Mutex> ObjectManager< Identifier, Object, Predicate >::Guard
template<typename Identifier, typename Object, typename Predicate>
typedef coil::Mutex ObjectManager< Identifier, Object, Predicate >::Mutex
template<typename Identifier, typename Object, typename Predicate>
typedef std::vector<Object*> ObjectManager< Identifier, Object, Predicate >::ObjectVector
template<typename Identifier, typename Object, typename Predicate>
typedef ObjectVector::const_iterator ObjectManager< Identifier, Object, Predicate >::ObjectVectorConstItr
template<typename Identifier, typename Object, typename Predicate>
typedef ObjectVector::iterator ObjectManager< Identifier, Object, Predicate >::ObjectVectorItr

コンストラクタとデストラクタ

template<typename Identifier, typename Object, typename Predicate>
ObjectManager< Identifier, Object, Predicate >::ObjectManager (  )  [inline]

コンストラクタ

template<typename Identifier, typename Object, typename Predicate>
ObjectManager< Identifier, Object, Predicate >::~ObjectManager ( void   )  [inline]

デストラクタ


関数

template<typename Identifier, typename Object, typename Predicate>
Object* ObjectManager< Identifier, Object, Predicate >::find ( const Identifier &  id  )  const [inline]

オブジェクトを検索する

登録されているオブジェクトの中から指定した条件に合致するオブジェクトを検索 して取得する。 指定した条件に合致するオブジェクトが登録されていない場合にはNULLを返す。

引数:
id 検索対象オブジェクトのID
戻り値:
オブジェクトの検索結果
template<typename Identifier, typename Object, typename Predicate>
template<class Pred >
Pred ObjectManager< Identifier, Object, Predicate >::for_each ( Pred  p  )  const [inline]

オブジェクト検索用ファンクタ

template<typename Identifier, typename Object, typename Predicate>
template<class Pred >
Pred ObjectManager< Identifier, Object, Predicate >::for_each ( Pred  p  )  [inline]

オブジェクト検索用ファンクタ

参照元 ObjectManager< const char *, DLLEntity, DllPred >::for_each().

template<typename Identifier, typename Object, typename Predicate>
std::vector<Object*> ObjectManager< Identifier, Object, Predicate >::getObjects (  )  const [inline]

登録されているオブジェクトのリストを取得する

登録されているオブジェクトのリストを取得する。

戻り値:
登録されているオブジェクト・リスト
template<typename Identifier, typename Object, typename Predicate>
bool ObjectManager< Identifier, Object, Predicate >::registerObject ( Object *  obj  )  [inline]

指定したオブジェクトを登録する

指定したオブジェクトを登録する。 同一オブジェクトが登録済みの場合は、何も行わない。

引数:
obj 登録対象オブジェクト
戻り値:
登録処理結果(オブジェクトを登録した場合にtrue)
template<typename Identifier, typename Object, typename Predicate>
Object* ObjectManager< Identifier, Object, Predicate >::unregisterObject ( const Identifier &  id  )  [inline]

指定したオブジェクトを登録解除する

指定したオブジェクトの登録を解除し、取得する。 指定したオブジェクトが登録されていない場合にはNULLを返す。

引数:
id 登録解除対象オブジェクトのID
戻り値:
登録解除されたオブジェクト

変数

template<typename Identifier, typename Object, typename Predicate>
Objects ObjectManager< Identifier, Object, Predicate >::m_objects [protected]
OpenRTMに対してThu May 24 23:25:19 2012に生成されました。  doxygen 1.6.3