Welcome to v1.0 of the meta::[[verse]]!
summary
Proposal P2996 is effectively accepted and introduces P2996 voted into C++26 draft enabling static compile-time reflection via a lift operator, splicers, a std::meta::info value type and dozens of meta functions (identifier_of, substitute, extract). Implementations exist in Clang/EDG (try on Godbolt). Reflection expressions require consteval contexts, can access private members, and meta objects are stateful std::meta objects (late definitions update earlier captures). Consequences: customization points and libraries shift errors to compilation, break ABI/implementation hiding, and demand new CI/tooling practices.
AI-written summary · about
chapters (13)
- 0:00C++ reflection v1.0
- 1:11C++ features to ISO standard
- 6:34Static reflection in C++
- 17:57Reflection syntax examples
- 25:57std::meta_info objects
- 33:08Meta functions capabilities
- 40:41Function parameter names reflection
- 46:46Reflection customization point
- 51:12Private members reflection stability
- 53:46Reflection impact on builds
- 54:28AI versus reflection
- 59:52Reflection vs macros/tools
- 1:01:00Future of reflection & Q&A
related talks
37mWelcome to v1.0 of the meta::[[verse]]!
01h 08mKeynote: Reflection in C++26 - Welcome to v0.1 of the meta::[[verse]]!
01h 27mC++ Reflection - Back on Track
01h 03mC++ Reflection: Back on Track
01h 08mReflections: Compile-time Introspection of Source Code
01h 37mReflection: Compile-Time Introspection of C++
01h 01mReflection
01h 10mReflection Is Good for C++ Code Health
