Есть такая задача: пройтись по хэдэр файлу и записать в список все методы класса, определенные в хэдэре, при этом отделить чистые виртуальные, виртуальные и обычные методы. Также у каждого метода взять возвращаемое значение и занести его в отдельный список.
Так вот: как это сделать универсально? Всмысле перед названием функции может стоять макрос (который не должен никуда включаться), в самом классе межет стоять макрос вида MAC() и тоже не должен включатьс и т.д. Наверняка есть какие-то утилиты для этого.
Используйте clang, который умеет делать ast дерево. Естественно, исходники должны компилироваться. На хабре есть куча статей.
Хотя вполне возможно, что даже консольного вывода может хватить
clang -std=c++11 -Xclang -ast-dump /путь/к/файлу/cpp -I/путь/к/директории/с/include/файлами -Dнужные_макросы -fsyntax-only
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости