История изменений
Исправление asaw, (текущая версия) :
Видел где-нить готовое решение? А то я бы хотел вынести enum из класса, а тогда не будет QMetaEnum'a.
Без интроспекции или её подобия именно это (enum <-> string) кмк не сделаешь никак. Соответсвенно - либо Qt + moc, как общее решение, либо макросы вроде этого: http://www.codeproject.com/Articles/318690/C-11-Non-intrusive-enum-class-with...
Либо вообще заменить enum на более сложный тип, который будет играть ту же роль + поддерживать сериализацию в строку и обратно. С C++11 это должно быть легко.
Исправление asaw, :
Видел где-нить готовое решение? А то я бы хотел вынести enum из класса, а тогда не будет QMetaEnum'a.
Без интроспекции или её подобия именно это (enum <-> string) кмк не сделаешь никак. Соответсвенно - либо Qt + moc, как общее решение, либо макросы вроде этого: http://www.codeproject.com/Articles/318690/C-11-Non-intrusive-enum-class-with... Либо вообще заменить enum на более сложный тип, который будет играть ту же роль + поддерживать сериализацию в строку и обратно. С C++11 это должно быть легко.
Исходная версия asaw, :
Видел где-нить готовое решение? А то я бы хотел вынести enum из класса, а тогда не будет QMetaEnum'a.
Без интроспекции или её подобия именно это (enum <-> string) кмк не сделаешь никак. Соответсвенно - либо Qt + moc, как общее решение, либо макросы вроде этого: http://www.codeproject.com/Articles/318690/C-11-Non-intrusive-enum-class-with... Либо вообще заменить enum'ы на более сложный тип, который будет играть ту же роль + поддерживать сериализацию в строку и обратно. С C++11 это должно быть легко.