|
MRPT
2.0.4
|
#include <mrpt/core/aligned_allocator.h>#include <mrpt/core/safe_pointers.h>#include <mrpt/typemeta/static_string.h>#include <functional>#include <memory>#include <vector>Go to the source code of this file.
Classes | |
| struct | mrpt::rtti::TRuntimeClassId |
| A structure that holds runtime class type information. More... | |
| struct | mrpt::rtti::CLASS_ID_impl< T > |
| struct | mrpt::rtti::IS_CLASS_impl< T > |
| struct | mrpt::rtti::internal::CopyCtor< is_copy_ctrtible > |
| struct | mrpt::rtti::internal::CopyCtor< true > |
| struct | mrpt::rtti::internal::CopyCtor< false > |
| class | mrpt::rtti::CObject |
| Virtual base to provide a compiler-independent RTTI system. More... | |
| struct | mrpt::ptr_cast< CAST_TO > |
| Converts a polymorphic smart pointer Base::Ptr to Derived::Ptr, in a way compatible with MRPT >=1.5.4 and MRPT 2.x series. More... | |
Namespaces | |
| mrpt | |
| This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. | |
| mrpt::rtti | |
| mrpt::rtti::internal | |
Functions | |
RTTI classes and functions for polymorphic hierarchies | |
| void | mrpt::rtti::registerClass (const mrpt::rtti::TRuntimeClassId *pNewClass) |
| Register a class into the MRPT internal list of "CObject" descendents. More... | |
| void | mrpt::rtti::registerClassCustomName (const char *customName, const TRuntimeClassId *pNewClass) |
| Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, CImage,...) More... | |
| std::vector< const mrpt::rtti::TRuntimeClassId * > | mrpt::rtti::getAllRegisteredClasses () |
| Returns a list with all the classes registered in the system through mrpt::rtti::registerClass. More... | |
| std::vector< const TRuntimeClassId * > | mrpt::rtti::getAllRegisteredClassesChildrenOf (const TRuntimeClassId *parent_id) |
| Like getAllRegisteredClasses(), but filters the list to only include children clases of a given base one. More... | |
| const TRuntimeClassId * | mrpt::rtti::findRegisteredClass (const std::string &className, const bool allow_ignore_namespace=true) |
| Return info about a given class by its name, or nullptr if the class is not registered. More... | |
| void | mrpt::rtti::registerAllPendingClasses () |
| Register all pending classes - to be called just before de-serializing an object, for example. More... | |
| mrpt::rtti::CObject::Ptr | mrpt::rtti::classFactory (const std::string &className) |
| Creates an object given by its registered name. More... | |
RTTI classes and functions for polymorphic hierarchies | |
| #define | CLASS_ID(T) mrpt::rtti::CLASS_ID_impl<T>::get() |
| Access to runtime class ID for a defined class name. More... | |
| #define | CLASS_ID_TEMPLATE(class_name, T) mrpt::rtti::CLASS_ID_impl<T>::get() |
| #define | CLASS_ID_NAMESPACE(class_name, namespaceName) mrpt::rtti::CLASS_ID_impl<namespaceName::class_name>::get() |
| #define | IS_CLASS(obj, class_name) mrpt::rtti::IS_CLASS_impl<class_name>::check(obj) |
| True if the given reference to object (derived from mrpt::rtti::CObject) is of the given class. More... | |
| #define | IS_DERIVED(obj, class_name) ((obj).GetRuntimeClass()->derivedFrom(CLASS_ID(class_name))) |
| True if the given reference to object (derived from mrpt::rtti::CObject) is an instance of the given class OR any of its derived classes. More... | |
| #define | DEFINE_MRPT_OBJECT(class_name, NameSpace) |
| This declaration must be inserted in all CObject classes definition, within the class declaration. More... | |
| #define | INTERNAL_IMPLEMENTS_MRPT_OBJECT( class_name, base, NameSpace, class_registry_name) |
| #define | IMPLEMENTS_MRPT_OBJECT(class_name, base, NameSpace) |
| Must be added to all CObject-derived classes implementation file. More... | |
| #define | DEFINE_VIRTUAL_MRPT_OBJECT(class_name) |
| This declaration must be inserted in virtual CObject classes definition: More... | |
| #define | INTERNAL_IMPLEMENTS_VIRTUAL_MRPT_OBJECT( class_name, base_name, NS, registered_name) |
| This must be inserted as implementation of some required members for virtual CObject classes: More... | |
| #define | IMPLEMENTS_VIRTUAL_MRPT_OBJECT(class_name, base, NS) |
| void | mrpt::rtti::registerClass (const mrpt::rtti::TRuntimeClassId *pNewClass) |
| Register a class into the MRPT internal list of "CObject" descendents. More... | |
| void | mrpt::rtti::registerClassCustomName (const char *customName, const TRuntimeClassId *pNewClass) |
| Mostly for internal use within mrpt sources, to handle exceptional cases with multiple serialization names for backward compatibility (CMultiMetricMaps, CImage,...) More... | |
| std::vector< const mrpt::rtti::TRuntimeClassId * > | mrpt::rtti::getAllRegisteredClasses () |
| Returns a list with all the classes registered in the system through mrpt::rtti::registerClass. More... | |
| std::vector< const TRuntimeClassId * > | mrpt::rtti::getAllRegisteredClassesChildrenOf (const TRuntimeClassId *parent_id) |
| Like getAllRegisteredClasses(), but filters the list to only include children clases of a given base one. More... | |
| const TRuntimeClassId * | mrpt::rtti::findRegisteredClass (const std::string &className, const bool allow_ignore_namespace=true) |
| Return info about a given class by its name, or nullptr if the class is not registered. More... | |
| void | mrpt::rtti::registerAllPendingClasses () |
| Register all pending classes - to be called just before de-serializing an object, for example. More... | |
| mrpt::rtti::CObject::Ptr | mrpt::rtti::classFactory (const std::string &className) |
| Creates an object given by its registered name. More... | |
| #define CLASS_ID | ( | T | ) | mrpt::rtti::CLASS_ID_impl<T>::get() |
Access to runtime class ID for a defined class name.
| #define CLASS_ID_NAMESPACE | ( | class_name, | |
| namespaceName | |||
| ) | mrpt::rtti::CLASS_ID_impl<namespaceName::class_name>::get() |
| #define CLASS_ID_TEMPLATE | ( | class_name, | |
| T | |||
| ) | mrpt::rtti::CLASS_ID_impl<T>::get() |
| #define DEFINE_MRPT_OBJECT | ( | class_name, | |
| NameSpace | |||
| ) |
This declaration must be inserted in all CObject classes definition, within the class declaration.
| #define DEFINE_VIRTUAL_MRPT_OBJECT | ( | class_name | ) |
This declaration must be inserted in virtual CObject classes definition:
| #define IMPLEMENTS_MRPT_OBJECT | ( | class_name, | |
| base, | |||
| NameSpace | |||
| ) |
Must be added to all CObject-derived classes implementation file.
This registers class ns1::Foo as "ns1::Foo".
| #define IMPLEMENTS_VIRTUAL_MRPT_OBJECT | ( | class_name, | |
| base, | |||
| NS | |||
| ) |
| #define INTERNAL_IMPLEMENTS_MRPT_OBJECT | ( | class_name, | |
| base, | |||
| NameSpace, | |||
| class_registry_name | |||
| ) |
| #define INTERNAL_IMPLEMENTS_VIRTUAL_MRPT_OBJECT | ( | class_name, | |
| base_name, | |||
| NS, | |||
| registered_name | |||
| ) |
This must be inserted as implementation of some required members for virtual CObject classes:
| #define IS_CLASS | ( | obj, | |
| class_name | |||
| ) | mrpt::rtti::IS_CLASS_impl<class_name>::check(obj) |
True if the given reference to object (derived from mrpt::rtti::CObject) is of the given class.
| #define IS_DERIVED | ( | obj, | |
| class_name | |||
| ) | ((obj).GetRuntimeClass()->derivedFrom(CLASS_ID(class_name))) |
True if the given reference to object (derived from mrpt::rtti::CObject) is an instance of the given class OR any of its derived classes.
| Page generated by Doxygen 1.8.18 for MRPT 2.0.4 at Thu Sep 24 07:14:18 UTC 2020 |