ObjectManager< Identifier, Object, Predicate > Class Template Reference

Class for managing objects. More...

#include <ObjectManager.h>

List of all members.

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

Protected Attributes

Objects m_objects
 The list of registered objects.

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:
id ID 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  )  const [inline]

Functor for searching 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.

Referenced by ObjectManager< const char *, DLLEntity, DllPred >::for_each().

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:
obj The 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:
id ID 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]
Generated on Fri Oct 28 18:31:17 2016 for OpenRTM-aist by  doxygen 1.6.3