#pragma once #include "find_reflection_handler.h" #include "lib_begin.h" namespace cgv { namespace reflect { /** the debug reflection handler generates a string in the member \c output that contains a complete description of the reflected instance */ class CGV_API debug_reflection_handler : public reflection_handler { private: std::string tab; protected: std::string extend_name(const std::string& name) const; public: /// contains the description in form of a string std::string output; /// int reflect_group_begin(GroupKind group_kind, const std::string& group_name, void* group_ptr, abst_reflection_traits* rt, unsigned grp_size); /// void reflect_group_end(GroupKind group_kind); /// bool reflect_member_void(const std::string& member_name, void* member_ptr, abst_reflection_traits* rt); /// empty implementation bool reflect_method_void(const std::string& method_name, method_interface* mi_ptr, abst_reflection_traits* return_traits, const std::vector& param_value_traits); }; } } #include