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() {
#define MRPT_DECLARE_TTYPENAME(_TYPE)
#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.
A template to obtain the type of its argument as a string at compile time.