Let's make a library that uses Reflection

Speaker: Konstantinos Kanavouras

Audience level: [ Intermediate | Advanced ]

A few years ago, a draft C++ Technical Specification for Reflection was published. Reflection would allow developers to get information about classes, variables, enumerations and more at compile-time, paving the way for more declarative and less repetitive code.

In this talk, we will focus into one of the more interesting applications: (de)serialization. Using reflection and some C++23 features, an entire class can be (de)serialized from or into a string, in only a single line, even at compile time. By combining these capabilities of experimental compilers, we will explore what the ok-serializer library can do using the bleeding edge of C++.