3#include "find_reflection_handler.h"
4#include <cgv/config/cpp_version.h>
16 std::string value_type;
21 const std::string& _value_type,
27 void process_member_void(
const std::string& member_name,
void* member_ptr,
31#ifdef REFLECT_TRAITS_WITH_DECLTYPE
37template <
typename T,
typename Q>
38 bool get_member(T& variable,
const std::string& target, Q& value) {
41namespace compatibility {
42 template <
typename T,
typename Q,
typename RQ>
43 bool get_member_impl(T& variable,
const std::string& target, Q& value, RQ&) {
47 grh.reflect_member(
"", variable);
48 return grh.found_valid_target();
50#ifndef REFLECT_TRAITS_WITH_DECLTYPE
51 template <
bool use_get,
typename T,
typename Q>
52 struct get_member_dispatch {
static bool get_member(T& variable,
const std::string& target, Q& value) {
54 template <
typename T,
typename Q>
55 struct get_member_dispatch<true,T,Q> {
static bool get_member(T& variable,
const std::string& target, Q& value) {
56 return get_member_impl(variable, target, value, get_reflection_traits(value)); } };
64template <
typename T,
typename Q>
65bool get_member(T& variable,
const std::string& target, Q& value)
73#include <cgv/config/lib_end.h>
The cgv::reflect::find_reflection_hander steers traversal to a specific member and calls the virtual ...
provides access to a member variable of an instance.
GroupKind
different support group types
bool get_member(T &variable, const std::string &target, Q &value)
uses cgv::reflect::get_reflection_handler to copy the value of a member from an instance
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.