Welcome to v1.0 of the meta::[[verse]]!
summary
Proposal P2996 claims reflection lands in C++26 with a new std::meta namespace and concrete operators: the lift/splice operators move program entities into and out of the reflection realm. The design uses value-based meta info objects (not heavyweight AST hierarchies), adds define_aggregate to generate types, and allows reading and assigning private members. Workable EDG and Clang experimental implementations exist (revision 11), but compile-time availability and non‑determinism remain important constraints.
AI-written summary · about
chapters (15)
- 0:00v1.0 of the metaverse
- 1:26Reflection in C++
- 2:27History of reflection proposals
- 3:52P2996 reflection proposal
- 10:38Reflection operator and splicers
- 13:29Meta info objects and AST
- 16:40Meta functions use
- 20:35Non-intuitive reflection behaviors
- 23:09Type traits and future
- 24:12Accessing private members
- 25:15Reflection library example
- 26:21Reflection vs AI code
- 30:40Reflection in Rust and C++
- 33:51Codebase impact and compatibility
- 35:16Summary and future
related talks
01h 04mWelcome to v1.0 of the meta::[[verse]]!
01h 08mKeynote: Reflection in C++26 - Welcome to v0.1 of the meta::[[verse]]!
01h 03mC++ Reflection: Back on Track
01h 37mReflection: Compile-Time Introspection of C++
01h 01mReflection
59mMeta++: Language Support for Advanced Generative Programming
55mC++14 Reflections Without Macros, Markup nor External Tooling..
46mBuilding a C++ Reflection System in One Weekend Using Clang and LLVM
