29 #ifndef _cmnClassServicesBase_h
30 #define _cmnClassServicesBase_h
60 const std::type_info * typeInfo,
62 const std::string & libraryName,
124 virtual bool DeleteArray(generic_pointer & data,
size_t & size)
const = 0;
130 virtual size_t GetSize(
void)
const = 0;
133 virtual bool HasDynamicCreation(
void)
const = 0;
136 virtual bool DefaultConstructorAvailable(
void)
const = 0;
137 virtual bool CopyConstructorAvailable(
void)
const = 0;
138 virtual bool OneArgConstructorAvailable(
void)
const = 0;
148 const std::string & GetName(
void)
const;
155 const std::type_info * TypeInfoPointer(
void)
const;
180 return ParentServices;
185 template <
class _Parent>
187 return IsDerivedFrom(_Parent::ClassServices());
191 const std::string & GetLibraryName(
void)
const;
195 const std::string * NameMember;
197 const std::type_info * TypeInfoMember;
205 const std::string LibraryName;
223 template <
class _
class>
227 #endif // _cmnClassServicesBase_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
cmnClassServicesBase * cmnClassServicesInstantiate(void)
#define CISST_DEPRECATED
Definition: cmnPortability.h:310
const cmnLogMask & GetLoD(void) const
Definition: cmnClassServicesBase.h:164
bool IsDerivedFrom(void) const
Definition: cmnClassServicesBase.h:186
cmnGenericObject * generic_pointer
Definition: cmnClassServicesBase.h:50
Declaration of Levels of Detail for cmnLogger (human readable logging)
Base class for high level objects.
Definition: cmnGenericObject.h:51
Macros to export the symbols of cisstCommon (in a Dll).
virtual ~cmnClassServicesBase()
Definition: cmnClassServicesBase.h:67
void CISST_DEPRECATED SetLoD(cmnLogMask mask)
Definition: cmnClassServicesBase.h:175
short cmnLogMask
Definition: cmnLogLoD.h:67
Base class for class services.
Definition: cmnClassServicesBase.h:45
const cmnClassServicesBase * GetParentServices(void) const
Definition: cmnClassServicesBase.h:179
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76