At Facebook we use C++ extensively in our backend and core infrastructure. We've recently added static reflection support for C++ to Thrift, in expectation of a first class standardized solution.
This talk demonstrates the power of reflection as a productivity enhancer, an enabler for features and an aid in managing complexity. It shows some useful functionalities that can be easily achieved through reflection in a portable and elegant way, which weren't possible before without code repetition, complex DSLs or non-portable pre-processors.
We'll cover things like pretty printers, data converters, migration to typed APIs, serialization and compilation times.
REQUIREMENTS: intermediate to advanced knowledge of template meta-programming. This talk is not aimed at people who want to learn meta-programming.