00001 //#define B( x, y ) x##y 00002 //#define A( x ) x 00003 // 00004 //#undef IPP_ENUM_VALUE 00005 //#undef IPP_ENUM_VALUE_N 00006 //#undef IPP_ENUM_VALUE_NM 00007 //#undef IPP_ENUMERATION 00008 // 00009 //#if defined(IPP_DECLARE_ENUM) 00010 // 00011 // 00012 //#define IPP_ENUM_VALUE(name) name , 00013 //#define IPP_ENUM_VALUE_N(name,value) name = value, 00014 //#define IPP_ENUM_VALUE_NM(name,value,severity,description) name = value, 00015 // 00016 //#define IPP_ENUMERATION(enumName,VALUES) \ 00017 // typedef enum enumName { \ 00018 // VALUES \ 00019 // }; \ 00020 // 00021 //#undef IPP_DECLARE_ENUM 00022 //#elif defined(IPP_IMPLEMENT_ENUM_TO_STRING) 00023 // 00024 //#ifndef IPP_ENUM_PREFIX 00025 //#define IPP_ENUM_PREFIX 00026 //#endif 00027 //#define GENERIC 00028 //#define IPP_ENUM_VALUE(name) case B(A(IPP_ENUM_PREFIX),name) : return #name; 00029 //#define IPP_ENUM_VALUE_N(name,value) case B(A(IPP_ENUM_PREFIX),name) : return #name; 00030 //#define IPP_ENUM_VALUE_NM(name,value,severity,description) case B(A(IPP_ENUM_PREFIX),name) : return description; 00031 // 00032 //#define IPP_ENUMERATION(enumName,VALUES) \ 00033 // IPPDME_EXT_CLASS const char* toString( enumName t) \ 00034 // { \ 00035 // switch(t._t) { \ 00036 // VALUES \ 00037 // } \ 00038 // return "???"; \ 00039 // } \ 00040 // 00041 //#undef IPP_IMPLEMENT_ENUM_TO_STRING 00042 //#elif 00043 //#error 00044 //#endif