00001
00002
00003 #ifndef TYPE_NAME_H
00004 #define TYPE_NAME_H
00005
00006 #include <stdint.h>
00007 #include <string>
00008
00009 namespace ns3 {
00010
00011 template <typename T>
00012 std::string TypeNameGet (void)
00013 {
00014 return "unknown";
00015 }
00016
00017 #define DEF_TYPE(x) \
00018 template <> \
00019 std::string TypeNameGet<x> (void)
00020
00021 DEF_TYPE (uint8_t);
00022 DEF_TYPE (uint16_t);
00023 DEF_TYPE (uint32_t);
00024 DEF_TYPE (uint64_t);
00025 DEF_TYPE (int8_t);
00026 DEF_TYPE (int16_t);
00027 DEF_TYPE (int32_t);
00028 DEF_TYPE (int64_t);
00029 DEF_TYPE (float);
00030 DEF_TYPE (double);
00031
00032 #undef DEF_TYPE
00033
00034 }
00035
00036 #endif