Meta++: Language Support for Advanced Generative Programming
summary
Project claims C++-level static reflection and source-code injection that let meta programs generate class members, deferred until the meta-program end. A three–four year prototype (Clang/GCC work, GitLab repo, Compiler Explorer) implements class fragments, injection declarations, implicit fragment parameters, and generated vtable-style type-erasure for existential types. Examples show extensible bitfields, iterator facades, attribute-driven getters, and a produced vector of mixed static/dynamic producers; the prototype compiles many examples but remains work-in-progress.
AI-written summary · about
chapters (9)
- 0:00Introduction and motivation
- 10:03Generative metaprogramming overview
- 15:21Extensible bit fields example
- 20:15Iterator facade with fragments
- 24:48Generating getters for book class
- 34:21Existential types with metaclasses
- 44:14Comparison with template metaprogramming
- 46:41Work in progress and future
- 51:42Q&A session
related talks
01h 48m“Meta: Thoughts on generative C++”
01h 01mMeta
01h 27mC++ Reflection - Back on Track
01h 00mDynamic Polymorphism with Metaclasses and Code Injection
01h 11mThoughts on Metaclasses - Herb Sutter
01h 04mWelcome to v1.0 of the meta::[[verse]]!
01h 08mKeynote: Reflection in C++26 - Welcome to v0.1 of the meta::[[verse]]!
01h 07mDynamic Polymorphism With Code Injection and Metaclasses
