Jagrut Dave is a senior software engineer at Bloomberg, where he has worked since 2016. His interests are in C++ metaprogramming, API design, and reflection. He has been involved in reflection-related discussions both within Bloomberg and in the ISO C++ Committee since 2019. He coordinates the Reflection Working Group within Bloomberg’s C++ Guild.
Compile-time reflection is arguably the biggest expansion of metaprogramming ever. It enables the ability to query the structure of your program at compile time and use that information to generate maintainable, standard code, without macros or external code generators. The original reflection feature was "typeful" and template-heavy, but the version that was standardized is the consteval, value-based design that’s more memory efficient. We will explore this evolution, as well as the long road through the Reflection TS from early reflection proposals and SG7 to the “big bang” adoption into the C++26 draft at the Sofia meeting. Through compelling examples, such […]