Например, для следующих классов:
Код: Выделить всё
class ParentClass {
int a;
std::string b;
};
class MemberA {
int foo;
float bar;
};
class MemberB {
int baz;
float bot;
};
class MyClass : ParentClass {
MemberA memberA1;
MemberA memberA2;
MemberB memberB;
int top;
};
Код: Выделить всё
MyClass(ParentClass).a(int)
MyClass(ParentClass).b(std::string)
MyClass.memberA1(MemberA).foo(int)
MyClass.memberA1(MemberA).bar(float)
MyClass.memberA2(MemberA).foo(int)
MyClass.memberA2(MemberA).bar(float)
MyClass.memberB(MemberB).baz(int)
MyClass.memberB(MemberB).bot(float)
MyClass.top(int)
Что я хочу Я уже пробовал:
- Разбор PDB-файлов: Я работаю в Visual Studio 2019, но этот подход не дал результатов. удовлетворительный результат.
- Использование DIA в C++: Однако я столкнулся с проблемами COM, возможно, из-за ИТ-политики компании.
< li>Использование библиотеки Python pdbparse: К сожалению, я получил ошибку «Неподдерживаемый тип файла». Похоже, библиотека плохо поддерживается для новых форматов PDB. - Отражение C++20: Я пытался использовать функции отражения в C++20. , но не добился желаемых результатов.
- Углубимся в отражение C++20, хотя это кажется сложным.
- Пользовательская генерация Doxygen, поскольку Doxygen уже предоставляет исчерпывающую документацию функции.
Есть ли другие подходы, которые мне следует рассмотреть? Любые идеи и предложения приветствуются!
Подробнее здесь: https://stackoverflow.com/questions/790 ... uct-or-cla