Reflective Metaprogramming in C++

Daveed Vandevoorde

Belgian computer scientist who lives near Princeton, NJ, USA. He is vice-president of engineering at the Edison Design Group (EDG), where he contributes primarily to the implementation of their C++ compiler front end. He is an active member of the C++ standardization committee where he primarily contributes to the core language evolution work.

Some time ago, the C++ standardization committee created a subgroup “SG-7” to explore how to add reflection capabilities to the language. More recently, that group has added “metaprogramming” to its plate and made some significant decisions regarding the shape of the eventual solution. In this talk we will look at the past that brought us here and examine a possible path for C++’s first-class support of “reflective metaprogramming”.