Next version of JABA
[jabaws.git] / binaries / src / muscle / enumtostr.cpp
1 #include "muscle.h"\r
2 #include <stdio.h>\r
3 \r
4 static char szMsg[64];\r
5 \r
6 // Define XXXToStr(XXX x) functions for each enum type XXX.\r
7 #define s(t)    const char *t##ToStr(t x) { switch (x) { case t##_Undefined: return "Undefined";\r
8 #define c(t, x) case t##_##x: return #x;\r
9 #define e(t)    } sprintf(szMsg, #t "_%d", x); return szMsg; }\r
10 #include "enums.h"\r
11 \r
12 // Define StrToXXX(const char *Str) functions for each enum type XXX.\r
13 #define s(t)    t StrTo##t(const char *Str) { if (0) ;\r
14 #define c(t, x) else if (0 == stricmp(#x, Str)) return t##_##x;\r
15 #define e(t)    Quit("Invalid value %s for type %s", Str, #t); return t##_Undefined; }\r
16 #include "enums.h"\r