Предположим, что у нас есть именованные перечисления:
enum MyEnum {
FOO,
BAR = 0x50
};
То, что я искал, - это script (любой язык), который сканирует все заголовки в моем проекте и генерирует заголовок с одной функцией для перечисления.
char* enum_to_string(MyEnum t);
И реализация с чем-то вроде этого:
char* enum_to_string(MyEnum t){
switch(t){
case FOO:
return "FOO";
case BAR:
return "BAR";
default:
return "INVALID ENUM";
}
}
Начинается на самом деле с перепечатанными перечислениями и безымянными списками стилей. Кто-нибудь знает что-то для этого?
EDIT: решение не должно изменять мой источник, кроме сгенерированных функций. Перечисления находятся в API, поэтому использование предлагаемых решений до сих пор не является вариантом.