Reflection Is Good for C++ Code Health
summary
C++ gains a compile‑time reflection proposal (P2996R1) with two working implementations (EDG and a Bloomberg clang fork) and a new value‑based API (carrot lift, splice, define_class). The presenter builds three libraries: automatic Python bindings by looping reflected members (works on an experimental compiler), a recursive ABI hashing scheme that hashes member names, offsets and layout (prototype runs and shows sensible behavior), and a duck‑typed virtual any that exposes members/callables via reflection; examples compile and run on a laptop but customization and attributes remain missing.
AI-written summary · about
chapters (10)
- 0:00Introduction to reflection
- 2:30What is reflection?
- 5:24Reflection in other languages
- 10:15C++ static reflection proposal
- 15:33Practical reflection examples
- 22:28Type information design
- 26:06Python bindings library
- 35:33ABI hashing and compatibility
- 52:06Virtual any for duck typing
- 1:03:32Reflection alternatives and Q&A
related talks
01h 01mReflection
01h 08mReflections: Compile-time Introspection of Source Code
01h 18mReflection API for Modern C++
46mBuilding a C++ Reflection System in One Weekend Using Clang and LLVM
36mCompile-time reflection, Serialization and ORM
01h 04mWelcome to v1.0 of the meta::[[verse]]!
01h 34mKeynote: Reflection Is Only Half the Story
47mReflection Techniques in C++
