9 #ifndef TTYPENAME_IMPL_H
10 #define TTYPENAME_IMPL_H
30 #define MRPT_DECLARE_TTYPENAME_CONTAINER(_CONTAINER) \
31 template< typename V > \
32 struct TTypeName <_CONTAINER<V> > { \
33 static std::string get() { \
34 return std::string( #_CONTAINER )+std::string("<")+std::string( TTypeName<V>::get() ) + std::string(">"); \
43 #define MRPT_DECLARE_TTYPENAME_CONTAINER_ASSOC(_CONTAINER) \
44 template< typename K, typename V > \
45 struct TTypeName <_CONTAINER<K,V> > { \
46 static std::string get() { \
47 return std::string( #_CONTAINER )+std::string("<")+std::string( TTypeName<K>::get() )+ std::string(",")+std::string( TTypeName<V>::get() )+std::string(">"); \
55 template< typename T1, typename T2 >
57 static std::string
get() {
A template to obtain the type of its argument as a string at compile time.
#define MRPT_DECLARE_TTYPENAME_CONTAINER(_CONTAINER)
#define MRPT_DECLARE_TTYPENAME_CONTAINER_ASSOC(_CONTAINER)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define MRPT_DECLARE_TTYPENAME(_TYPE)