71     constexpr 
static auto get() { 
return T::getClassName(); }
    78     constexpr 
static auto get()
    90 #define DECLARE_CUSTOM_TTYPENAME(_TYPE) \    95     MRPT_DECLARE_TTYPENAME(_TYPE)       \   104 #define DECLARE_TTYPENAME_CLASSNAME(_CLASSNAME)      \   106     static constexpr auto getClassName()             \   108         return mrpt::typemeta::literal(#_CLASSNAME); \   111 #define MRPT_DECLARE_TTYPENAME(_TYPE)                           \   113     struct TTypeName<_TYPE>                                     \   115         constexpr static auto get() { return literal(#_TYPE); } \   119 #define MRPT_DECLARE_TTYPENAME_NAMESPACE(_TYPE, __NS)                      \   121     struct TTypeName<__NS::_TYPE>                                          \   123         constexpr static auto get() { return literal(#__NS "::" #_TYPE); } \   128 #define MRPT_DECLARE_TTYPENAME_NO_NAMESPACE(_TYPE, __NS)        \   130     struct TTypeName<__NS::_TYPE>                               \   132         constexpr static auto get() { return literal(#_TYPE); } \   135 #define MRPT_DECLARE_TTYPENAME_PTR(_TYPE)                     \   137     struct TTypeName<_TYPE::Ptr>                              \   139         static auto get() { return TTypeName<_TYPE>::get(); } \   142 #define MRPT_DECLARE_TTYPENAME_PTR_NAMESPACE(_TYPE, __NS)           \   144     struct TTypeName<__NS::_TYPE::Ptr>                              \   146         static auto get() { return TTypeName<__NS::_TYPE>::get(); } \ 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
#define MRPT_DECLARE_TTYPENAME(_TYPE)