OpenRTM-aist  1.2.1
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
ObjectManager< Identifier, Object, Predicate > Class Template Reference

Class for managing objects. More...

#include <ObjectManager.h>

Collaboration diagram for ObjectManager< Identifier, Object, Predicate >:
Collaboration graph
[legend]

Classes

struct  Objects
 The structure for object management. More...
 

Public Types

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

Public Member Functions

 ObjectManager ()
 Constructor. More...
 
 ~ObjectManager (void)
 Destructor. More...
 
bool registerObject (Object *obj)
 Register the specified object. More...
 
Object * unregisterObject (const Identifier &id)
 Unregister the specified object. More...
 
Object * find (const Identifier &id) const
 Find the object. More...
 
std::vector< Object * > getObjects () const
 Get a list of obejects that are registerd. More...
 
template<class Pred >
Pred for_each (Pred p)
 Functor for searching object. More...
 
template<class Pred >
Pred for_each (Pred p) const
 Functor for searching object. More...
 

Protected Attributes

Objects m_objects
 The list of registered objects. More...
 

Detailed Description

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

Class for managing objects.

This is a class for managing various objects.

Since
0.4.0

Member Typedef Documentation

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

Constructor & Destructor Documentation

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

Constructor.

Constructor

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

Destructor.

Destructor

Member Function Documentation

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

Find the object.

Find the object that matches the specified condition among the registered objects and get it. This operation returns NULL if the object that does matches the specified condition is not registered.

Parameters
idID of the target object for finding
Returns
Result of finding object
template<typename Identifier, typename Object, typename Predicate>
template<class Pred >
Pred ObjectManager< Identifier, Object, Predicate >::for_each ( Pred  p)
inline

Functor for searching object.

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

Functor for searching object.

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

Get a list of obejects that are registerd.

Get a list of objects that are registerd.

Returns
List of registerd objects.
template<typename Identifier, typename Object, typename Predicate>
bool ObjectManager< Identifier, Object, Predicate >::registerObject ( Object *  obj)
inline

Register the specified object.

Register the object that was specified. If the same object is already registered, this does not anything.

Parameters
objThe target object for the registration
Returns
Registration result (True if object was registerd)
template<typename Identifier, typename Object, typename Predicate>
Object* ObjectManager< Identifier, Object, Predicate >::unregisterObject ( const Identifier &  id)
inline

Unregister the specified object.

Unregister the object that was specified and get it. This operation returns NULL if the specified object is not registered.

Parameters
idID of the target object for the unregistration
Returns
Unregistered object

Member Data Documentation

template<typename Identifier, typename Object, typename Predicate>
Objects ObjectManager< Identifier, Object, Predicate >::m_objects
protected

The documentation for this class was generated from the following file: