
Артем Бабаев
РЕДКИТ ЛАБ
Представьте, вы описываете обычные C++ struct с данными, а в момент билда для них появятся реализации на выбор:
C++ — мощный язык, но в плане статической рефлексии отстает от других популярных технологий. Пока ждем появления в стабильных версиях компилятора, состряпали свою реализацию сбоку, на базе clangAST, чтобы перестать писать кучу boilerplate. Местами использование похоже на Rust Derive, местами на Java-аттрибуты, выглядит симпатично.
В докладе будет много примеров модулей кодогенерации, которые мы используем у себя в продуктовом коде. Также проделаем полный путь от изменения исходного кода проекта до системы сборки и по итогу сгенерированного кода, который линкуется вместе с исходным, чтобы понять, как это работает.

РЕДКИТ ЛАБ