The Mirror library provides both compile-time and run-time meta-data describing common C++ constructs like namespaces, types, classes, their base classes and member variables, constructors, etc. and provides generic interfaces for their introspection