A C++ library for Run-time Reflections