cgv
cgv::reflect Namespace Reference

in this namespace reflection of types is implemented More...

Classes

struct  abst_enum_reflection_traits
 type independent functionality for all enum fallback implementations More...
 
struct  abst_reflection_traits
 abstract interface for type reflection with basic type management and optional string conversion More...
 
class  debug_reflection_handler
 
struct  enum_reflection_traits
 this type specific reflection traits class is used by the reflect_enum function to reflect enum types More...
 
struct  extern_reflection_traits
 this reflection traits implementation is used for external self_reflect implementations of instances of type T where the external implementation is a self_reflect function in type D More...
 
struct  extern_reflection_traits_impl
 this reflection traits implementation is used by the reflect_string function More...
 
struct  extern_string_reflection_traits
 this reflection traits implementation is used for external self_reflect implementations together with string interface of instances of type T where the external implementation is a self_reflect function in type D More...
 
class  find_reflection_handler
 
class  get_reflection_handler
 
struct  method_interface
 
struct  method_interface_impl
 forward declaration of method_interface_impl which is implemented in <cgv/reflect/method_interface_impl.ph>, include the generated header <cgv/reflect/method_interface_impl.h> More...
 
class  reflection_handler
 
struct  reflection_traits
 Default implementation of the reflection traits providing type specific interface. More...
 
struct  reflection_traits_impl
 implementation of the reflection traits providing type specific interface for variable base class More...
 
struct  reflection_traits_impl< T, B, true >
 implementation variant for abstract base classes More...
 
struct  reflection_traits_info
 the reflection_traits_info defines compile time information about reflection_traits for a given type T More...
 
struct  reflection_traits_string_impl
 this template allows to distinguish between traits with and without string conversions More...
 
struct  reflection_traits_string_impl< true, T, B >
 this is the implementation with string conversions More...
 
struct  self_reflection_tag
 Derive from this class to announce implementation of the method self_reflect. More...
 

Enumerations

enum  ReflectionTraitsKind
 different types of reflection traits
 

Functions

template<typename T , typename Q >
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 More...
 
reflection_traits< bool, RTK_STD_TYPE > get_reflection_traits (const bool &)
 example implementation of the cgv::reflect::get_reflection_traits() function More...
 

Detailed Description

in this namespace reflection of types is implemented

Function Documentation

◆ get_member()

template<typename T , typename Q >
bool cgv::reflect::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

Parameters
[in]variableInstance whoes member should be copied
[in]targetSpecification of member (see cgv::reflect::find_reflection_handler for details)
[out]valueCopy member into to this location.