What is reflection? Why is it considered "black magic" by some? And do we really need more black magic in C++? This talk covers the art of reflection: the ability to inspect (and maybe even modify) the data members and other qualities of a type. We will briefly look at how reflection is implemented in other languages and how it is achieved in C++ today through macros or compiler plugins. We will also compare current proposals for reflection targeting C++20 and present example utilities implemented using the reference implementation of the "reflexpr" proposal in Clang.
This is an abbreviated preview of the speaker's recent presentation at C++ Now 2017.
Practical Applications of Reflection
Jackie Kay is a professional robotics software engineer, embedded software hobbyist, and amateur template metaprogrammer from the United States. Her open source work includes contributions to the ROS application framework for robotics, the Gazebo physics simulator, and work-in-progress contributions to the Kvasir bare metal embedded software libraries.