29#ifndef _cmnClassRegister_h
30#define _cmnClassRegister_h
110 typedef ServicesContainerType::iterator iterator;
111 typedef ServicesContainerType::reverse_iterator reverse_iterator;
136 const std::string & className);
157 return ServicesContainer.size();
163 return ServicesContainer.begin();
169 return ServicesContainer.end();
207 static inline const std::string *
209 const std::string & className)
211 return Instance()->RegisterInstance(classServicesPointer,
242 return Instance()->SetLogMaskClassAllInstance(mask);
261 return Instance()->SetLogMaskClassMatchingInstance(stringToMatch, mask);
265 return Instance()->SetLogMaskClassMatching(stringToMatch, mask);
278 return Instance()->FindClassServicesInstance(className);
293 return Instance()->FindClassServicesInstance(typeInfo);
323 static void ToStream(std::ostream & outputStream) {
324 Instance()->ToStreamInstance(outputStream);
Main register for classes.
Definition cmnClassRegister.h:97
static cmnGenericObject * Create(const std::string &className, const cmnGenericObject &other)
const std::string * RegisterInstance(cmnClassServicesBase *classServicesPointer, const std::string &className)
static cmnClassRegister * Instance(void)
static bool CISST_DEPRECATED SetLoDForMatchingClasses(const std::string &stringToMatch, cmnLogMask mask)
Definition cmnClassRegister.h:264
static cmnClassServicesBase * FindClassServices(const std::type_info &typeInfo)
Definition cmnClassRegister.h:292
cmnClassServicesBase * FindClassServicesInstance(const std::type_info &typeInfo)
static std::string ToString(void)
cmnClassServicesBase * FindClassServicesInstance(const std::string &className)
static size_type size(void)
Definition cmnClassRegister.h:329
bool SetLogMaskClassMatchingInstance(const std::string &stringToMatch, cmnLogMask mask)
static const std::string * Register(cmnClassServicesBase *classServicesPointer, const std::string &className)
Definition cmnClassRegister.h:208
static cmnGenericObject * Create(const std::string &className)
void ToStreamInstance(std::ostream &outputStream) const
const_iterator endInstance(void) const
Definition cmnClassRegister.h:168
cmnClassRegister(void)
Definition cmnClassRegister.h:175
std::string ToStringInstance(void) const
static const_iterator begin(void)
Definition cmnClassRegister.h:334
static bool SetLogMaskClass(const std::string &className, cmnLogMask mask)
static bool CISST_DEPRECATED SetLoDForAllClasses(cmnLogMask mask)
Definition cmnClassRegister.h:245
ServicesContainerType::const_iterator const_iterator
Definition cmnClassRegister.h:104
static bool SetLogMaskClassAll(cmnLogMask mask)
Definition cmnClassRegister.h:241
ServicesContainerType::value_type EntryType
Definition cmnClassRegister.h:102
size_type sizeInstance(void) const
Definition cmnClassRegister.h:156
ServicesContainerType::size_type size_type
Definition cmnClassRegister.h:107
const_iterator beginInstance(void) const
Definition cmnClassRegister.h:162
static bool CISST_DEPRECATED SetLoD(const std::string &className, cmnLogMask mask)
Definition cmnClassRegister.h:228
static cmnClassServicesBase * FindClassServices(const std::string &className)
Definition cmnClassRegister.h:277
static void ToStream(std::ostream &outputStream)
Definition cmnClassRegister.h:323
static const_iterator end(void)
Definition cmnClassRegister.h:340
std::map< std::string, cmnClassServicesBase * > ServicesContainerType
Definition cmnClassRegister.h:101
bool SetLogMaskClassAllInstance(cmnLogMask mask)
static bool SetLogMaskClassMatching(const std::string &stringToMatch, cmnLogMask mask)
Definition cmnClassRegister.h:260
ServicesContainerType::const_reverse_iterator const_reverse_iterator
Definition cmnClassRegister.h:105
Base class for class services.
Definition cmnClassServicesBase.h:46
Base class for high level objects.
Definition cmnGenericObject.h:53
std::ostream & operator<<(std::ostream &output, const cmnClassRegister &classRegister)
Definition cmnClassRegister.h:349
Macros to export the symbols of cisstCommon (in a Dll).
#define CISST_EXPORT
Definition cmnExportMacros.h:50
short cmnLogMask
Definition cmnLogLoD.h:67
Declaration of cmnLogger amd macros for human readable logging.
Portability across compilers and operating systems tools.
#define CISST_DEPRECATED
Definition cmnPortability.h:314