Small reflection library for c++