OpenRTM-aist  1.2.1
クラス | 公開型 | 公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
ObjectManager< Identifier, Object, Predicate > クラステンプレート

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

#include <ObjectManager.h>

ObjectManager< Identifier, Object, Predicate > 連携図
Collaboration graph
[凡例]

クラス

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

公開型

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

公開メンバ関数

 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
 オブジェクト検索用ファンクタ [詳解]
 

限定公開変数類

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)
inline

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

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>
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

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