Struct TMetricMapTypesRegistry

Nested Relationships

Nested Types

Struct Documentation

struct TMetricMapTypesRegistry

Class factory & registry for map classes. Used from mrpt::maps::TMetricMapInitializer

Public Types

using TListRegisteredMaps = std::map<std::string, InfoPerMapClass>

Public Functions

size_t doRegister(const std::string &name, MapDefCtorFunctor func1, MapCtorFromDefFunctor func2)

Return the index of the class in the list (not important, just used as a trick to initialize static members)

std::shared_ptr<mrpt::maps::TMetricMapInitializer> factoryMapDefinition(const std::string &className) const

Return nullptr if not found

std::shared_ptr<mrpt::maps::CMetricMap> factoryMapObjectFromDefinition(const mrpt::maps::TMetricMapInitializer &mi) const

Return nullptr if not found

inline const TListRegisteredMaps &getAllRegistered() const

Public Static Functions

static TMetricMapTypesRegistry &Instance()
struct InfoPerMapClass

Public Functions

InfoPerMapClass() = default
inline InfoPerMapClass(const MapDefCtorFunctor &DefCtor, const MapCtorFromDefFunctor &MapCtor)

Public Members

MapDefCtorFunctor defCtor
MapCtorFromDefFunctor mapCtor