21 #ifndef mia_core_typedescr_hh
22 #define mia_core_typedescr_hh
39 static const char *type_descr;
52 static const char *
const value;
58 #define DECLARE_TYPE_DESCR(type) \
60 struct EXPORT_CORE __type_descr<type> { \
61 static const char * const value; \
68 #define DEFINE_TYPE_DESCR(type) const char * const __type_descr<type>::value = #type;
76 #define DEFINE_TYPE_DESCR2(type, name) const char * const __type_descr<type>::value = name;
83 DECLARE_TYPE_DESCR(
signed char);
84 DECLARE_TYPE_DESCR(
unsigned char);
85 DECLARE_TYPE_DESCR(
short);
86 DECLARE_TYPE_DESCR(
int);
87 DECLARE_TYPE_DESCR(
long);
88 DECLARE_TYPE_DESCR(
unsigned int);
89 DECLARE_TYPE_DESCR(
unsigned short);
90 DECLARE_TYPE_DESCR(
unsigned long);
91 DECLARE_TYPE_DESCR(
float);
92 DECLARE_TYPE_DESCR(
double);
93 DECLARE_TYPE_DESCR(
bool);
94 DECLARE_TYPE_DESCR(std::string);
97 DECLARE_TYPE_DESCR(std::vector<short>);
98 DECLARE_TYPE_DESCR(std::vector<int>);
99 DECLARE_TYPE_DESCR(std::vector<long>);
100 DECLARE_TYPE_DESCR(std::vector<unsigned int>);
101 DECLARE_TYPE_DESCR(std::vector<unsigned short>);
102 DECLARE_TYPE_DESCR(std::vector<unsigned long>);
103 DECLARE_TYPE_DESCR(std::vector<float>);
104 DECLARE_TYPE_DESCR(std::vector<double>);
105 DECLARE_TYPE_DESCR(std::vector<bool>);
106 DECLARE_TYPE_DESCR(std::vector<std::string>);