The Mirror C++ reflection library provides both compile-time and run-time meta-data describing common C++ program constructs like namespaces, types, enumerations, classes, their base classes and member variables, constructors, etc. and provides generic interfaces for their introspection. It also provides several high-level utilities based on the reflected meta-data like a factory generator, which generates, at compile-time, implementations of object factories which can create instances of arbitrary 'reflectable' type.
|Tags||C++ C++0x Library reflection introspection meta-data|
|Licenses||Boost Software License|
|Operating Systems||Linux (32 and 64 bit) Cygwin|
Release Notes: Updates to the Mirror's meta-programming utilities and some changes to the internal code were made. The Boolean and integer types in the object-oriented compile-time layer were made more static. The first version of a new type-erasure utility for the compile-time meta-objects was added. Several new examples were added and a few bugs were fixed.
Release Notes: Compile-time strings with string algorithms which can be used to examine the names of types and namespaces at compile-time were added (this feature is still experimental and subject to change). Documentation was updated and several new examples were added. The traverse_elements convenience friend function of MetaType was updated. The object-oriented layers have been refactored and partially reimplemented.
Release Notes: Small changes to the container-reflecting meta-objects were made. The registering code for the Boost.Optional and Boost.Variant types was added. Several bugs have been fixed.
Release Notes: Support for compile-time container reflection was added. The meta_object_kind template for more flexible meta-object categorization was added. Several bugs and pedantic warnings were fixed. The documentation has been updated. Other minor changes were made.
Release Notes: Support for reflection of free variables was added. Meta-instances were added to the compile-time layer. Several new examples showing the usage of the new compile-time layer were included. The documentation was reorganized and updated.