MRPT  1.9.9
mrpt::typemeta::TTypeName< T > Struct Template Reference

Detailed Description

template<typename T>
struct mrpt::typemeta::TTypeName< T >

A template to obtain the type of its argument as a string at compile time.

It works with all classes derived from CObject, plus many specializations for the plain data types (bool, double, uint8_t, etc...) For example:

cout << TTypeName<double>::get() << endl; // "double"
cout << TTypeName<CPose2D>::get() << endl; // "CPose2D"

Users can extend this for custom structs/classes with the macro DECLARE_CUSTOM_TTYPENAME:

class MyClass { ... };
cout << TTypeName<MyClass>::get() << endl; // "MyClass"

or alternatively, to avoid adding out-of-class macros:

namespace MyNS {
class MyClass {
};
}
cout << TTypeName<MyNS::MyClass>::get() << endl; // "MyNS::MyClass"

The following types are NOT ALLOWED since they have platform-dependant sizes:

  • int, unsigned int
  • long, unsigned long
  • short, unsigned short
  • size_t
Examples:
typemeta_TTypeName/test.cpp.

Definition at line 65 of file TTypeName.h.

#include <mrpt/typemeta/TTypeName.h>

Static Public Member Functions

static constexpr auto get ()
 

Member Function Documentation

◆ get()




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020