Thursday 

Room 2 

13:40 - 14:40 

(UTC+02

Talk (60 min)

Vampires Begone: A Journey Through the Evolution of Reflection in C++

C++26 introduces static reflection, allowing programs to examine, manipulate, and generate code at compile time. But C++ developers have long relied on macros, template metaprogramming, and libraries like Boost.Hana to approximate reflection, so what does it actually enable that wasn't possible before? This talk explores the evolution of reflection in C++, which resulted in the introduction of static reflection in the latest standard.

C++
Technique
Language

We'll briefly revisit the "dark arts" of early reflection techniques, from preprocessor tricks to SFINAE gymnastics. Then we'll dive into the design of static reflection in C++26, showing how it enables real compile-time introspection and code generation.

By the end of this talk, attendees will have a clear overview of the evolution of reflection in C++, an understanding of the capabilities and design of C++26 static reflection, and insights into how to leverage this powerful feature in their own projects.

Alexsandro Thomas

Alexsandro Thomas is a Senior Software Engineer, and a member of the ISO C++ Standard Committee. He specializes in C++ API development, build systems, and developer tooling. His interests include heterogeneous computing, compiler technology, and languages.