C++ introspection code generator