C++ Reflection library
Reflection is a way to access the typesystem at runtime, enabling a more dynamic software design. C# and java has built in reflection. This can be used for:
Automatic scripting support for all classes Autogenerated GUI Automatic model persistence (for example throught XML)
C++ does not have built-in reflection support, so it needs to be added as a library.