OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
ObjectManager< Identifier, Object, Predicate > Class Template Reference

Class for managing objects. More...

#include <ObjectManager.h>

Collaboration diagram for ObjectManager< Identifier, Object, Predicate >:

Classes

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

Public Types

using ObjectVector = std::vector<Object*>
 
using ObjectVectorItr = typename ObjectVector::iterator
 
using ObjectVectorConstItr = typename ObjectVector::const_iterator
 

Public Member Functions

 ObjectManager ()=default
 Constructor.
 
 ~ObjectManager ()=default
 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

◆ ObjectVector

template<typename Identifier , typename Object , typename Predicate >
using ObjectManager< Identifier, Object, Predicate >::ObjectVector = std::vector<Object*>

◆ ObjectVectorConstItr

template<typename Identifier , typename Object , typename Predicate >
using ObjectManager< Identifier, Object, Predicate >::ObjectVectorConstItr = typename ObjectVector::const_iterator

◆ ObjectVectorItr

template<typename Identifier , typename Object , typename Predicate >
using ObjectManager< Identifier, Object, Predicate >::ObjectVectorItr = typename ObjectVector::iterator

Constructor & Destructor Documentation

◆ ObjectManager()

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

Constructor.

Constructor

◆ ~ObjectManager()

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

Destructor.

Destructor

Member Function Documentation

◆ find()

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

References ObjectManager< Identifier, Object, Predicate >::Objects::_mutex, ObjectManager< Identifier, Object, Predicate >::Objects::_obj, and ObjectManager< Identifier, Object, Predicate >::m_objects.

◆ for_each() [1/2]

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

◆ for_each() [2/2]

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

◆ getObjects()

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.

References ObjectManager< Identifier, Object, Predicate >::Objects::_mutex, ObjectManager< Identifier, Object, Predicate >::Objects::_obj, and ObjectManager< Identifier, Object, Predicate >::m_objects.

◆ registerObject()

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)

References ObjectManager< Identifier, Object, Predicate >::Objects::_mutex, ObjectManager< Identifier, Object, Predicate >::Objects::_obj, and ObjectManager< Identifier, Object, Predicate >::m_objects.

◆ unregisterObject()

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

References ObjectManager< Identifier, Object, Predicate >::Objects::_mutex, ObjectManager< Identifier, Object, Predicate >::Objects::_obj, and ObjectManager< Identifier, Object, Predicate >::m_objects.

Member Data Documentation

◆ m_objects


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