#include <mrpt/system/memory.h>#include <mrpt/utils/safe_pointers.h>#include <vector>#include <memory>

Go to the source code of this file.
| Classes | |
| struct | mrpt::utils::TRuntimeClassId | 
| A structure that holds runtime class type information.  More... | |
| struct | mrpt::utils::CLASSINIT | 
| Auxiliary structure used for CObject-based RTTI.  More... | |
| class | mrpt::utils::CObject | 
| The virtual base class of all MRPT classes with a unified RTTI system.  More... | |
| struct | mrpt::utils::CObjectPtr | 
| struct | mrpt::ptr_cast< CAST_TO > | 
| Converts a 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::utils | |
| Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. | |
| Functions | |
| void BASE_IMPEXP | mrpt::utils::registerAllPendingClasses () | 
| Register all pending classes - to be called just before de-serializing an object, for example.  More... | |
| RTTI classes and functions | |
| #define | CLASS_ID(class_name) static_cast<const mrpt::utils::TRuntimeClassId*>(&class_name::class##class_name) | 
| Access to runtime class ID for a defined class name.  More... | |
| #define | CLASS_ID_NAMESPACE(class_name, namespaceName) static_cast<const mrpt::utils::TRuntimeClassId*>(&namespaceName::class_name::class##class_name) | 
| Access to runtime class ID for a defined class name.  More... | |
| #define | CLASS_ID_TEMPLATE(class_name, T) static_cast<const mrpt::utils::TRuntimeClassId*>(& template <class T> class_name<T>::class##class_name) | 
| Access to runtime class ID for a defined template class name.  More... | |
| #define | IS_CLASS(ptrObj, class_name) ((ptrObj)->GetRuntimeClass()==CLASS_ID(class_name)) | 
| Evaluates to true if the given pointer to an object (derived from mrpt::utils::CSerializable) is of the given class.  More... | |
| #define | IS_DERIVED(ptrObj, class_name) ((ptrObj)->GetRuntimeClass()->derivedFrom(CLASS_ID(class_name))) | 
| Evaluates to true if the given pointer to an object (derived from mrpt::utils::CSerializable) is an instance of the given class or any of its derived classes.  More... | |
| #define | DEFINE_MRPT_OBJECT_CUSTOM_LINKAGE(class_name, _STATIC_LINKAGE_, _VIRTUAL_LINKAGE_) | 
| Just like DEFINE_MRPT_OBJECT but with DLL export/import linkage keywords.  More... | |
| #define | DEFINE_MRPT_OBJECT(class_name) DEFINE_MRPT_OBJECT_CUSTOM_LINKAGE(class_name, static /*none*/, virtual /*none*/) | 
| This declaration must be inserted in all CObject classes definition, within the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_) DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) | 
| #define | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) | 
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_NO_LINKAGE(class_name, base_name) DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name) | 
| #define | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_NO_LINKAGE(class_name, base_name) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name) | 
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name_LINKAGE_) | 
| This declaration must be inserted in all CObject classes definition, before the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name_LINKAGE_) | 
| This declaration must be inserted in all CObject classes definition, after the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE(class_name, _LINKAGE_) DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2(class_name, _LINKAGE_ class_name) | 
| #define | DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE(class_name, _LINKAGE_) DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2(class_name, _LINKAGE_ class_name) | 
| #define | DEFINE_MRPT_OBJECT_PRE_NO_LINKAGE(class_name) DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2(class_name, class_name) | 
| #define | DEFINE_MRPT_OBJECT_POST_NO_LINKAGE(class_name) DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2(class_name, class_name) | 
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2(class_name, class_name_LINKAGE_) struct class_name_LINKAGE_##Ptr; | 
| This declaration must be inserted in all CObject classes definition, before the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2(class_name, class_name_LINKAGE_) | 
| This declaration must be inserted in all CObject classes definition, after the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE(class_name, base_name) DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, BASE_IMPEXP ) | 
| This declaration must be inserted in all CObject classes definition, before the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_PRE(class_name) DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE(class_name, BASE_IMPEXP ) | 
| This declaration must be inserted in all CObject classes definition, before the class declaration.  More... | |
| #define | DEFINE_MRPT_OBJECT_POST(class_name) DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE(class_name, BASE_IMPEXP ) | 
| #define | IMPLEMENTS_MRPT_OBJECT(class_name, base, NameSpace) | 
| This must be inserted in all CObject classes implementation files.  More... | |
| #define | DEFINE_VIRTUAL_MRPT_OBJECT(class_name) | 
| This declaration must be inserted in virtual CSerializable classes definition:  More... | |
| #define | IMPLEMENTS_VIRTUAL_MRPT_OBJECT(class_name, base_class_name, NameSpace) | 
| This must be inserted as implementation of some required members for virtual CSerializable classes:  More... | |
| typedef safe_ptr< TRuntimeClassId > | mrpt::utils::TRuntimeClassIdPtr | 
| A wrapper class for a "TRuntimeClassId *", well-defined with respect to copy operators and constructors.  More... | |
| class BASE_IMPEXP | mrpt::utils::CObject | 
| struct BASE_IMPEXP | mrpt::utils::CObjectPtr | 
| A smart pointer to a CObject object.  More... | |
| void BASE_IMPEXP | mrpt::utils::registerClass (const mrpt::utils::TRuntimeClassId *pNewClass) | 
| Register a class into the MRPT internal list of "CSerializable" descendents.  More... | |
| void BASE_IMPEXP | mrpt::utils::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::utils::TRuntimeClassId * > BASE_IMPEXP | mrpt::utils::getAllRegisteredClasses () | 
| Returns a list with all the classes registered in the system through mrpt::utils::registerClass.  More... | |
| std::vector< const TRuntimeClassId * > BASE_IMPEXP | mrpt::utils::getAllRegisteredClassesChildrenOf (const TRuntimeClassId *parent_id) | 
| Like getAllRegisteredClasses(), but filters the list to only include children clases of a given base one.  More... | |
| const TRuntimeClassId BASE_IMPEXP * | mrpt::utils::findRegisteredClass (const std::string &className) | 
| Return info about a given class by its name, or NULL if the class is not registered.  More... | |
| #define CLASS_ID | ( | class_name | ) | static_cast<const mrpt::utils::TRuntimeClassId*>(&class_name::class##class_name) | 
Access to runtime class ID for a defined class name.
Definition at line 82 of file CObject.h.
Referenced by mrpt::slam::CGridMapAligner::AlignPDF_correlation(), mrpt::hwdrivers::CGenericSensor::appendObservations(), mrpt::poses::CPoint2DPDFGaussian::bayesianFusion(), mrpt::poses::CPointPDFGaussian::bayesianFusion(), mrpt::poses::CPose3DPDFSOG::bayesianFusion(), mrpt::poses::CPosePDFGaussianInf::bayesianFusion(), mrpt::poses::CPosePDFGaussian::bayesianFusion(), mrpt::poses::CPointPDFSOG::bayesianFusion(), mrpt::poses::CPosePDFSOG::bayesianFusion(), mrpt::hmtslam::CLocalMetricHypothesis::changeCoordinateOrigin(), mrpt::maps::CBeaconMap::compute3DMatchingRatio(), mrpt::maps::CLandmarksMap::compute3DMatchingRatio(), mrpt::maps::CLandmarksMap::computeMatchingWith2D(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_CellsDifference(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_Consensus(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_ConsensusOWA(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_likelihoodField_II(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_rayTracing(), mrpt::poses::CPose3DPDFParticles::copyFrom(), mrpt::poses::CPosePDFParticles::copyFrom(), mrpt::poses::CPose3DPDFSOG::copyFrom(), mrpt::poses::CPointPDFSOG::copyFrom(), mrpt::poses::CPosePDFSOG::copyFrom(), mrpt::poses::CPose3DPDF::createFrom2D(), mrpt::maps::CBeaconMap::determineMatching2D(), mrpt::maps::CPointsMap::determineMatching2D(), mrpt::maps::COccupancyGridMap2D::determineMatching2D(), mrpt::maps::CPointsMap::determineMatching3D(), mrpt::obs::CRawlog::findObservationsByClassInRange(), mrpt::obs::CRawlog::getActionObservationPairOrObservation(), mrpt::obs::CRawlog::getAsAction(), mrpt::obs::CRawlog::getAsObservation(), mrpt::obs::CRawlog::getAsObservations(), mrpt::obs::CActionCollection::getBestMovementEstimation(), mrpt::obs::CActionCollection::getMovementEstimationByType(), mrpt::utils::CObject::GetRuntimeClass(), mrpt::obs::CRawlog::getType(), mrpt::obs::CRawlog::iterator::getType(), mrpt::obs::CRawlog::const_iterator::getType(), mrpt::slam::CICP::ICP3D_Method_Classic(), mrpt::slam::CICP::ICP_Method_LM(), mrpt::maps::COccupancyGridMap2D::internal_canComputeObservationLikelihood(), mrpt::maps::CBeaconMap::internal_computeObservationLikelihood(), mrpt::maps::CLandmarksMap::internal_computeObservationLikelihood(), mrpt::maps::CPointsMap::internal_computeObservationLikelihood(), mrpt::maps::COccupancyGridMap2D::internal_computeObservationLikelihood(), mrpt::maps::CBeaconMap::internal_insertObservation(), mrpt::maps::CLandmarksMap::internal_insertObservation(), mrpt::maps::COccupancyGridMap2D::internal_insertObservation(), mrpt::poses::CPose3DPDFParticles::inverse(), mrpt::poses::CPose3DQuatPDFGaussian::inverse(), mrpt::poses::CPose3DQuatPDFGaussianInf::inverse(), mrpt::poses::CPose3DPDFSOG::inverse(), mrpt::poses::CPose3DPDFGaussianInf::inverse(), mrpt::poses::CPosePDFParticles::inverse(), mrpt::poses::CPosePDFGaussianInf::inverse(), mrpt::poses::CPosePDFGaussian::inverse(), mrpt::poses::CPose3DPDFGaussian::inverse(), mrpt::poses::CPosePDFSOG::inverse(), mrpt::obs::CRawlog::loadFromRawLogFile(), mrpt::topography::path_from_rtk_gps(), mrpt::detectors::CDetectorDoorCrossing::process(), mrpt::obs::CRawlog::readActionObservationPair(), mrpt::nav::CAbstractPTGBasedReactive::saveConfigFile(), mrpt::nav::CAbstractPTGBasedReactive::TAbstractPTGNavigatorParams::saveToConfigFile(), TEST(), and mrpt::hmtslam::CHMTSLAM::thread_LSLAM().
| #define CLASS_ID_NAMESPACE | ( | class_name, | |
| namespaceName | |||
| ) | static_cast<const mrpt::utils::TRuntimeClassId*>(&namespaceName::class_name::class##class_name) | 
Access to runtime class ID for a defined class name.
Definition at line 86 of file CObject.h.
Referenced by mrpt::opengl::CSetOfObjects::dumpListOfObjects(), mrpt::opengl::COpenGLViewport::dumpListOfObjects(), mrpt::opengl::CSetOfObjects::getByClass(), mrpt::opengl::COpenGLViewport::getByClass(), mrpt::opengl::CSetOfObjects::getByName(), mrpt::opengl::COpenGLViewport::getByName(), mrpt::opengl::CSetOfObjects::removeObject(), and mrpt::opengl::COpenGLViewport::removeObject().
| #define CLASS_ID_TEMPLATE | ( | class_name, | |
| T | |||
| ) | static_cast<const mrpt::utils::TRuntimeClassId*>(& template <class T> class_name<T>::class##class_name) | 
| #define DEFINE_MRPT_OBJECT | ( | class_name | ) | DEFINE_MRPT_OBJECT_CUSTOM_LINKAGE(class_name, static /*none*/, virtual /*none*/) | 
| #define DEFINE_MRPT_OBJECT_CUSTOM_LINKAGE | ( | class_name, | |
| _STATIC_LINKAGE_, | |||
| _VIRTUAL_LINKAGE_ | |||
| ) | 
Just like DEFINE_MRPT_OBJECT but with DLL export/import linkage keywords.
Note: The replication of macro arguments is to avoid errors with empty macro arguments
| #define DEFINE_MRPT_OBJECT_POST | ( | class_name | ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE(class_name, BASE_IMPEXP ) | 
| #define DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE | ( | class_name, | |
| base_name, | |||
| _LINKAGE_ | |||
| ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) | 
| #define DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2 | ( | class_name, | |
| base_name, | |||
| class_name_LINKAGE_ | |||
| ) | 
This declaration must be inserted in all CObject classes definition, after the class declaration.
| #define DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_NO_LINKAGE | ( | class_name, | |
| base_name | |||
| ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name) | 
| #define DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE | ( | class_name, | |
| _LINKAGE_ | |||
| ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2(class_name, _LINKAGE_ class_name) | 
| #define DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2 | ( | class_name, | |
| class_name_LINKAGE_ | |||
| ) | 
This declaration must be inserted in all CObject classes definition, after the class declaration.
| #define DEFINE_MRPT_OBJECT_POST_NO_LINKAGE | ( | class_name | ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_LINKAGE2(class_name, class_name) | 
| #define DEFINE_MRPT_OBJECT_PRE | ( | class_name | ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE(class_name, BASE_IMPEXP ) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE | ( | class_name, | |
| base_name | |||
| ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, BASE_IMPEXP ) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE | ( | class_name, | |
| base_name, | |||
| _LINKAGE_ | |||
| ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2 | ( | class_name, | |
| base_name, | |||
| class_name_LINKAGE_ | |||
| ) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_NO_LINKAGE | ( | class_name, | |
| base_name | |||
| ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_BASE_LINKAGE2(class_name, base_name, class_name) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE | ( | class_name, | |
| _LINKAGE_ | |||
| ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2(class_name, _LINKAGE_ class_name) | 
| #define DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2 | ( | class_name, | |
| class_name_LINKAGE_ | |||
| ) | struct class_name_LINKAGE_##Ptr; | 
| #define DEFINE_MRPT_OBJECT_PRE_NO_LINKAGE | ( | class_name | ) | DEFINE_MRPT_OBJECT_PRE_CUSTOM_LINKAGE2(class_name, class_name) | 
| #define DEFINE_VIRTUAL_MRPT_OBJECT | ( | class_name | ) | 
This declaration must be inserted in virtual CSerializable classes definition:
| #define IMPLEMENTS_MRPT_OBJECT | ( | class_name, | |
| base, | |||
| NameSpace | |||
| ) | 
This must be inserted in all CObject classes implementation files.
| #define IMPLEMENTS_VIRTUAL_MRPT_OBJECT | ( | class_name, | |
| base_class_name, | |||
| NameSpace | |||
| ) | 
This must be inserted as implementation of some required members for virtual CSerializable classes:
| #define IS_CLASS | ( | ptrObj, | |
| class_name | |||
| ) | ((ptrObj)->GetRuntimeClass()==CLASS_ID(class_name)) | 
Evaluates to true if the given pointer to an object (derived from mrpt::utils::CSerializable) is of the given class.
Definition at line 93 of file CObject.h.
Referenced by mrpt::graphslam::CGraphSlamEngine< GRAPH_T >::_execGraphSlamStep(), mrpt::obs::CRawlog::addObservationMemoryReference(), mrpt::slam::CGridMapAligner::AlignPDF_robustMatch(), mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_T >::checkOptimizerExists(), mrpt::graphslam::apps::TUserOptionsChecker< GRAPH_T >::checkRegistrationDeciderExists(), mrpt::maps::CMultiMetricMapPDF::clear(), mrpt::maps::COccupancyGridMap2D::computeObservationLikelihood_likelihoodField_Thrun(), mrpt::poses::CPosePDFGaussianInf::copyFrom(), mrpt::poses::CPose3DPDFGaussianInf::copyFrom(), mrpt::maps::CHeightGridMap2D_Base::dem_internal_insertObservation(), mrpt::detectors::CCascadeClassifierDetection::detectObjects_Impl(), mrpt::detectors::CFaceDetection::detectObjects_Impl(), mrpt::poses::CPoseRandomSampler::do_sample_2D(), mrpt::poses::CPoseRandomSampler::do_sample_3D(), mrpt::hmtslam::CHierarchicalMHMap::dumpAsXMLfile(), mrpt::obs::CRawlog::getActionObservationPairOrObservation(), mrpt::opengl::CSetOfObjects::initializeAllTextures(), mrpt::opengl::COpenGLViewport::initializeAllTextures(), mrpt::maps::COctoMapBase< octomap::OcTree, octomap::OcTreeNode >::internal_build_PointCloud_for_observation(), mrpt::obs::CSensoryFrame::internal_buildAuxPointsMap(), mrpt::maps::CReflectivityGridMap2D::internal_computeObservationLikelihood(), mrpt::maps::CWirelessPowerGridMap2D::internal_insertObservation(), mrpt::maps::CReflectivityGridMap2D::internal_insertObservation(), mrpt::maps::CGasConcentrationGridMap2D::internal_insertObservation(), mrpt::maps::CColouredOctoMap::internal_insertObservation(), mrpt::maps::CPointsMap::internal_insertObservation(), mrpt::opengl::COpenGLScene::internal_visitAllObjects(), mrpt::obs::CRawlog::loadFromRawLogFile(), mrpt::slam::observationsOverlap(), mrpt::opengl::CSetOfObjects::posePDF2opengl(), mrpt::maps::CMultiMetricMapPDF::prediction_and_update_pfOptimalProposal(), mrpt::obs::CActionRobotMovement2D::prepareFastDrawSingleSample_modelGaussian(), mrpt::slam::CMetricMapBuilderICP::processObservation(), mrpt::poses::CPoseRandomSampler::setPosePDF(), mrpt::hmtslam::CHMTSLAM::TBI_main_method(), TEST(), mrpt::hwdrivers::CCameraSensor::thread_save_images(), mrpt::graphslam::deciders::CFixedIntervalsNRD< GRAPH_T >::updateState(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState(), and mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::updateState().
| #define IS_DERIVED | ( | ptrObj, | |
| class_name | |||
| ) | ((ptrObj)->GetRuntimeClass()->derivedFrom(CLASS_ID(class_name))) | 
Evaluates to true if the given pointer to an object (derived from mrpt::utils::CSerializable) is an instance of the given class or any of its derived classes.
Definition at line 96 of file CObject.h.
Referenced by mrpt::obs::CRawlog::getActionObservationPairOrObservation(), mrpt::opengl::CSetOfObjects::initializeAllTextures(), mrpt::opengl::COpenGLViewport::initializeAllTextures(), mrpt::slam::CMetricMapBuilderICP::processObservation(), and mrpt::hwdrivers::CCameraSensor::thread_save_images().
| Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |