C++ Reflection: Back on Track

Speaker: David Olsen

Audience level: [ Intermediate | Advanced ]

C++ reflection has been a long-sought goal of users and language designers. But previous attempts have failed to get wide enough support to make it into the C++ standard or be widely implemented. A newly revised design has incorporated the lessons learned from previous proposals and is gaining momentum in the C++ standards committee.

This presentation will cover the current reflection proposal. I will go over how it works, how to use it, and how it compares to other reflection proposals and implementations. There will be plenty of code examples, compiled by real compilers that have already implemented the proposal, showing how reflection enables useful techniques that had been previously out of reach.

Attendees will come away from this session with an appreciation for the power and usefulness of reflection, and with the knowledge of how to start writing reflection-based code.