29#ifndef _cmnClassServicesBase_h
30#define _cmnClassServicesBase_h
60 const std::type_info * typeInfo,
62 const std::string & libraryName,
180 return ParentServices;
185 template <
class _Parent>
195 const std::string * NameMember;
197 const std::type_info * TypeInfoMember;
205 const std::string LibraryName;
223template <
class _
class>
Base class for class services.
Definition cmnClassServicesBase.h:46
virtual bool DefaultConstructorAvailable(void) const =0
virtual bool DeleteArray(generic_pointer &data, size_t &size) const =0
void CISST_DEPRECATED SetLoD(cmnLogMask mask)
Definition cmnClassServicesBase.h:175
const cmnLogMask & GetLoD(void) const
Definition cmnClassServicesBase.h:164
void SetLogMask(cmnLogMask mask)
virtual bool CopyConstructorAvailable(void) const =0
virtual cmnGenericObject * CreateArray(size_t size, const cmnGenericObject &other) const =0
const cmnLogMask & GetLogMask(void) const
const std::type_info * TypeInfoPointer(void) const
virtual cmnGenericObject * Create(const cmnGenericObject &other) const =0
virtual const cmnClassServicesBase * GetConstructorArgServices(void) const =0
virtual bool OneArgConstructorAvailable(void) const =0
virtual size_t GetSize(void) const =0
const std::string & GetName(void) const
cmnClassServicesBase(const std::string &className, const std::type_info *typeInfo, const cmnClassServicesBase *parentServices, const std::string &libraryName, cmnLogMask mask=CMN_LOG_ALLOW_DEFAULT)
virtual bool Create(cmnGenericObject *existing, const cmnGenericObject &other) const =0
const cmnClassServicesBase * GetParentServices(void) const
Definition cmnClassServicesBase.h:179
cmnGenericObject * generic_pointer
Definition cmnClassServicesBase.h:50
bool IsDerivedFrom(const cmnClassServicesBase *parentServices) const
bool IsDerivedFrom(void) const
Definition cmnClassServicesBase.h:186
virtual ~cmnClassServicesBase()
Definition cmnClassServicesBase.h:67
virtual cmnGenericObject * CreateWithArg(const cmnGenericObject &arg) const =0
virtual bool Delete(cmnGenericObject *existing) const =0
virtual cmnGenericObject * Create(void) const =0
const std::string & GetLibraryName(void) const
virtual bool HasDynamicCreation(void) const =0
virtual cmnGenericObject * CreateArray(size_t size) const =0
Base class for high level objects.
Definition cmnGenericObject.h:53
cmnClassServicesBase * cmnClassServicesInstantiate(void)
Macros to export the symbols of cisstCommon (in a Dll).
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Declaration of Levels of Detail for cmnLogger (human readable logging).
short cmnLogMask
Definition cmnLogLoD.h:67
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CISST_DEPRECATED
Definition cmnPortability.h:314
size_type size(void) const
Definition vctDynamicConstMatrixBase.h:228