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.
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.
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.
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.
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.