24 #ifndef _cmnObjectRegister_h
25 #define _cmnObjectRegister_h
66 typedef std::map<std::string, cmnGenericObject *> ContainerType;
67 typedef ContainerType::iterator iterator;
68 typedef ContainerType::reverse_iterator reverse_iterator;
78 ContainerType ObjectContainer;
83 bool RegisterInstance(
const std::string & objectName,
89 bool RemoveInstance(
const std::string & objectName);
110 void ToStreamInstance(std::ostream & outputStream)
const;
115 return ObjectContainer.begin();
120 const_iterator endInstance(
void)
const {
121 return ObjectContainer.end();
155 static inline bool Register(
const std::string & objectName,
157 return Instance()->RegisterInstance(objectName, objectPointer);
168 static inline bool Remove(
const std::string & objectName) {
169 return Instance()->RemoveInstance(objectName);
182 return Instance()->FindObjectInstance(objectName);
192 return Instance()->FindNameInstance(objectPointer);
199 std::stringstream outputStream;
200 ToStream(outputStream);
201 return outputStream.str();
206 static inline void ToStream(std::ostream & outputStream) {
207 return Instance()->ToStreamInstance(outputStream);
213 return Instance()->beginInstance();
219 return Instance()->endInstance();
225 #endif // _cmnObjectRegister_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
static bool Register(const std::string &objectName, cmnGenericObject *objectPointer)
Definition: cmnObjectRegister.h:155
ContainerType::const_iterator const_iterator
Definition: cmnObjectRegister.h:71
static cmnGenericObject * FindObject(const std::string &objectName)
Definition: cmnObjectRegister.h:181
static std::string ToString(void)
Definition: cmnObjectRegister.h:198
cmnObjectRegister()
Definition: cmnObjectRegister.h:127
ContainerType::const_reverse_iterator const_reverse_iterator
Definition: cmnObjectRegister.h:72
static const_iterator begin(void)
Definition: cmnObjectRegister.h:212
Base class for high level objects.
Definition: cmnGenericObject.h:51
Class register definitions and log macros.
Macros to export the symbols of cisstCommon (in a Dll).
Object Register.
Definition: cmnObjectRegister.h:62
Defines cmnGenericObject.
static std::string FindName(cmnGenericObject *objectPointer)
Definition: cmnObjectRegister.h:191
static void ToStream(std::ostream &outputStream)
Definition: cmnObjectRegister.h:206
virtual ~cmnObjectRegister()
Definition: cmnObjectRegister.h:130
static bool Remove(const std::string &objectName)
Definition: cmnObjectRegister.h:168
static const_iterator end(void)
Definition: cmnObjectRegister.h:218