cgv
Loading...
Searching...
No Matches
debug_reflection_handler.h
1#pragma once
2
3#include "find_reflection_handler.h"
4
5#include "lib_begin.h"
6
7namespace cgv {
8 namespace reflect {
9
13{
14private:
15 std::string tab;
16protected:
17 std::string extend_name(const std::string& name) const;
18public:
20 std::string output;
22 int reflect_group_begin(GroupKind group_kind, const std::string& group_name, void* group_ptr, abst_reflection_traits* rt, unsigned grp_size);
24 void reflect_group_end(GroupKind group_kind);
26 bool reflect_member_void(const std::string& member_name, void* member_ptr, abst_reflection_traits* rt);
28 bool reflect_method_void(const std::string& method_name, method_interface* mi_ptr,
29 abst_reflection_traits* return_traits, const std::vector<abst_reflection_traits*>& param_value_traits);
30};
31 }
32}
33
34#include <cgv/config/lib_end.h>
the debug reflection handler generates a string in the member output that contains a complete descrip...
bool reflect_method_void(const std::string &method_name, method_interface *mi_ptr, abst_reflection_traits *return_traits, const std::vector< abst_reflection_traits * > &param_value_traits)
empty implementation
std::string output
contains the description in form of a string
void reflect_group_end(GroupKind group_kind)
abstract interface to start reflection of a group of members
int reflect_group_begin(GroupKind group_kind, const std::string &group_name, void *group_ptr, abst_reflection_traits *rt, unsigned grp_size)
abstract interface to start reflection of a group of members.
bool reflect_member_void(const std::string &member_name, void *member_ptr, abst_reflection_traits *rt)
abstract interface to reflect a member variable, where the member type is specified as a string.
the self reflection handler is passed to the virtual self_reflect() method of cgv::base::base.
GroupKind
different support group types
in this namespace reflection of types is implemented
this header is dependency free
Definition print.h:11
abstract interface for type reflection with basic type management and optional string conversion
abstract interface to call a method of a given instance.