3#include "find_reflection_handler.h"
4#include <cgv/config/cpp_version.h>
14 const void* value_ptr;
15 std::string value_type;
19 bool is_creative()
const;
22 const std::string& _value_type,
23 const void* _value_ptr,
28 void process_member_void(
const std::string& member_name,
void* member_ptr,
32#ifdef REFLECT_TRAITS_WITH_DECLTYPE
34template <
typename T,
typename Q>
35 bool set_member(T& variable,
const std::string& target,
const Q& value) {
38namespace compatibility {
39 template <
typename T,
typename Q,
typename RQ>
40 bool set_member_impl(T& variable,
const std::string& target,
const Q& value,
const RQ&)
45 srh.reflect_member(
"", variable);
46 return srh.found_target();
48#ifndef REFLECT_TRAITS_WITH_DECLTYPE
49 template <
bool use_get,
typename T,
typename Q>
50 struct set_member_dispatch {
static bool set_member(T& variable,
const std::string& target,
const Q& value) {
52 template <
typename T,
typename Q>
53 struct set_member_dispatch<true,T,Q> {
static bool set_member(T& variable,
const std::string& target,
const Q& value) {
54 return set_member_impl(variable, target, value, get_reflection_traits(value)); } };
57template <
typename T,
typename Q>
58bool set_member(T& variable,
const std::string& target,
const Q& value)
67#include <cgv/config/lib_end.h>
The cgv::reflect::find_reflection_hander steers traversal to a specific member and calls the virtual ...
GroupKind
different support group types
this header is dependency free
abstract interface for type reflection with basic type management and optional string conversion
the reflection_traits_info defines compile time information about reflection_traits for a given type ...
Default implementation of the reflection traits providing type specific interface.