Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Reflection - Compile-Time Introspection of C++

ACCU Conference via YouTube

Overview

Explore compile-time introspection in C++ through this comprehensive ACCU 2021 conference talk. Delve into the core concepts of reflection and reification, examining various methods of language support, including the current Reflection TS approach and alternative considerations. Learn how reflection can enhance traditional generic programming techniques to develop more general algorithms based on class property introspection. Discover the potential of static reflection as a powerful upcoming feature for C++23, supported by advanced constexpr capabilities. Gain insights from examples demonstrating reflection's application in augmenting generic programming and creating versatile algorithms. Understand the implementation of reflection operators, types, and libraries, along with practical applications such as generating indirection, creating iterative pointers, and developing serialization algorithms.

Syllabus

Introduction
Examples
Reflection and metaprogramming: final
Motivation for metaprogramming
Where static reflection helps
Generating indirection
Reflection operator (P2320) Is an expression Produces a comple-time (as in constexpr) value that describes its operand
Reflection type (P1240)
Testing our indirection generator
Reflection library (P1240)
Making pointers iteratively
Splice operator
Splice equation
A reflective indirection generator
Expansion statements
A trivial implementation
Equivalent specialization
Serialization algorithm
Sketch of algorithm
Serialization as a facility
The main structure
Serialization interface
Serializing base cases
Serializing composites
Generic and extensible
Deserialization
Deserializing classes

Taught by

ACCU Conference

Reviews

Start your review of Reflection - Compile-Time Introspection of C++

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.