Back To Schedule

Reflecting on Reflection

Introspection, Injection, and Beyond

11:00 - 12:30 Wednesday 6th May 2026 MT Flug Auditorium
Intermediate
Advanced
Generic/Metaprogramming

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 as automatic serialization and interface generation based on schemas, attendees will learn how to replace external build-step code generators with native C++ metaprogramming. We will demonstrate techniques for synthesizing new code, ranging from P2996’s define_aggregate to experimental Token Sequences. We will also look ahead to the next milestone, aka code generation. A deep dive into Clang and GCC implementations will uncover what happens under the hood of the compiler in the AST.

Attendees will leave this talk with a solid mental model of reflection, practical patterns and usages to try, and an understanding of why reflection arrived at its present form, and where it may go next.

View Slides

Alex Yesmanchyk

Senior Software EngineerBloomberg

Alex Yesmanchyk has been a senior software engineer at Bloomberg’s Engineering team since May 2024. An active member of the the Reflection and Compilers Working Groups in Bloomberg’s C++ Guild, Alex co-presented "Reflection in Feeds" during the firm’s internal Guild Week in 2025. He is a passionate contributor to various open source projects - notably, the GCC compiler, where he worked on the P2996 Reflection standard implementation. His technical pursuits include metaprogramming, modules, and coroutines in C++.

 

Jagrut Dave

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.