Metaclasses in C++: dream? Reality!

Day 2 /  / Track 3  /  RU / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

This talk deals with one of the metaclasses implementation approaches (proposal p0707 rev3, currently the latest publicly available) for versions of compilers that do not support neither static reflection nor out-of-the-box metaclasses themselves. Sergey will tell how you can implement metaclasses support in the form of an external utility (based on clang frontend) and what you can/should do to integrate the results of that utility's work into your code. As time permits, we'll thoroughly discuss different aspects of working with clang AST, namely, how to use clang C++ AST analysis results for code generation and C++ interpreter implementation.

This talk's aimed at people familiar with the concept of metaclasses proposed by Sutter and (preferably) with basic aspects of clang frontend implementation.