A template to obtain the type of its argument as a string at compile time.
It works with all classes derived from CSerializable, 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" cout << TTypeName<mrpt::slam::COccupancyGridMap2D>::get() << endl; // "COccupancyGridMap2D"
Users can extend this for custom structs/classes with the macro DECLARE_CUSTOM_TTYPENAME:
class MyClass { ... }; DECLARE_CUSTOM_TTYPENAME(MyClass) cout << TTypeName<MyClass>::get() << endl; // "MyClass"
The following types are NOT ALLOWED since they have platform-dependant sizes:
Definition at line 164 of file CSerializable.h.
#include <mrpt/utils/CSerializable.h>
Static Public Member Functions | |
static std::string | get () |
static std::string mrpt::utils::TTypeName< T >::get | ( | ) | [inline, static] |
Definition at line 166 of file CSerializable.h.
Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011 |