История изменений
Исправление KivApple, (текущая версия) :
Можно описывать типы подлежащие рефлексии вообще не в плюсах, а в XML/JSON/YAML. А скриптом на питоне уже генерировать и реальные структуры и enum в C++, и метаинформацию о них (списки вариантов enum с их значениями, смещения полей в классе с их именами).
Какую-то сложную логику можно навесить через наследование от сгенерированных классов.
Исходная версия KivApple, :
Можно описывать типы подлежащие рефлексии вообще не в плюсах, а в XML/JSON/YAML. А скриптом на питоне уже генерировать и реальные структуры и enum в C++, и метаинформацию о них (списки вариантов enum с их значениями, смещения полей в классе с их именами).
Какую-то сложную логику можно навесить через наследование от сгенерированных классов. Или через генерацию header с прототипами всех методов и конструкторов, а реализацию пишет человек уже в cpp файле.