26 if (info::is_fundamental(value_rt->get_type_id())) {
27 if (info::is_fundamental(rt->get_type_id())) {
28 cgv::type::assign_variant(value_rt->get_type_name(), value_ptr, rt->get_type_name(), member_ptr);
31 else if (info::is_fundamental(rt->get_type_id())) {
33 get_variant(tmp_str, rt->get_type_name(), member_ptr);
34 value_rt->set_from_string(value_ptr, tmp_str);
38 if (!valid && rt->has_string_conversions() && value_rt->has_string_conversions()) {
40 rt->get_to_string(member_ptr, tmp);
41 valid = value_rt->set_from_string(value_ptr, tmp);
43 if (!valid && rt->has_string_conversions() && value_rt->get_type_id() ==
info::TI_STRING) {
44 rt->get_to_string(member_ptr, *
static_cast<std::string*
>(value_ptr));
49 if (info::is_fundamental(rt->get_type_id())) {
50 cgv::type::assign_variant(value_type, value_ptr, rt->get_type_name(), member_ptr);
53 else if (value_type == rt->get_type_name()) {
54 memcpy(value_ptr, member_ptr, rt->size());
58 rt->get_to_string(member_ptr, *
static_cast<std::string*
>(value_ptr));
virtual void process_member_void(const std::string &member_name, void *member_ptr, abst_reflection_traits *rt, GroupKind group_kind=GK_NO_GROUP, unsigned grp_size=-1)
virtual method that is overloaded by derived classes to handle the target member
get_reflection_handler(const std::string &_target, const std::string &_value_type, void *_value_ptr, abst_reflection_traits *_value_rt=0)
construct from target, value type and pointer to value
void process_member_void(const std::string &member_name, void *member_ptr, abst_reflection_traits *rt, GroupKind group_kind, unsigned grp_size)
copy value of member to external value pointer