very simple c++ reflection library