37 if (pBaseClass ==
this)
return true;
44 while (pClassThis !=
nullptr)
46 if (pClassThis == pBaseClass)
return true;
68 pBaseClass !=
nullptr,
69 format(
"Class %s not registered??", pBaseClass_name))
72 if (pBaseClass ==
this)
return true;
76 while (pClassThis !=
nullptr)
78 if (pClassThis == pBaseClass)
return true;
98 "[TRuntimeClassId::createObject] Trying to create an object with " 99 "not dynamic constructor\n");
105 CObject* ret = (*ptrCreateObject)();
108 catch (std::bad_alloc&)
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
This namespace provides a OS-independent interface to many useful functions: filenames manipulation...
void registerAllPendingClasses()
Register all pending classes - to be called just before de-serializing an object, for example...
static const mrpt::utils::TRuntimeClassId runtimeClassId
bool derivedFrom(const TRuntimeClassId *pBaseClass) const
const TRuntimeClassId *(* getBaseClass)()
Gets the base class runtime id.
mrpt::utils::CObject * createObject() const
static const mrpt::utils::TRuntimeClassId & GetRuntimeClassIdStatic()
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
const TRuntimeClassId * findRegisteredClass(const std::string &className)
Return info about a given class by its name, or nullptr if the class is not registered.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A structure that holds runtime class type information.
The virtual base class of all MRPT classes with a unified RTTI system.
#define ASSERTMSG_(f, __ERROR_MSG)
static mrpt::utils::TRuntimeClassId * _GetBaseClass()