Compile-time reflection, Serialization and ORM
summary
Describes implementing compile-time reflection in Modern C++ using void_t, tuple, index_sequence, variadic templates, constexpr, macros and C++17 features; claims a compact <500-line library versus boost.hana’s ~3,000 lines, auto-generates metadata via macros, serializes structs to JSON/XML/MessagePack, builds a working ORM that generates SQL and maps rows to objects, supports up to 120 fields, and notes limits: no private members or member functions and lambda captures are not reflected.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:42What is reflection
- 3:18Benefits of reflection
- 4:09Compile-time reflection implementation
- 11:42Defining metadata for reflection
- 17:00Automating metadata with macros
- 20:22Reflection limitations and proposals
- 25:18Applications in serialization
- 28:31ORM library with reflection
- 31:14Future prospects of reflection
- 33:29Q&A session
related talks
47mReflection Techniques in C++
01h 27mC++ Reflection - Back on Track
46mBuilding a C++ Reflection System in One Weekend Using Clang and LLVM
01h 08mReflections: Compile-time Introspection of Source Code
01h 10mLet's make a library that uses Reflection
55mC++14 Reflections Without Macros, Markup nor External Tooling..
01h 10mReflection Is Good for C++ Code Health
42mC++ Horizons
