cgv
Loading...
Searching...
No Matches
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
 the debug reflection handler generates a string in the member output that contains a complete description of the reflected instance More...
 
struct  detail
 
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
 The cgv::reflect::find_reflection_hander steers traversal to a specific member and calls the virtual function process_member() that can be overloaded by derived classes such as cgv::reflect::get_reflection_handler. More...
 
class  get_reflection_handler
 provides access to a member variable of an instance. More...
 
struct  method_interface
 abstract interface to call a method of a given instance. More...
 
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...
 
struct  method_parameter_traits_helper
 
struct  method_parameter_traits_helper< i, i, M >
 
class  reflection_handler
 the self reflection handler is passed to the virtual self_reflect() method of cgv::base::base. More...
 
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_info_self
 
struct  reflection_traits_info_self< true, T >
 
struct  reflection_traits_info_std
 
struct  reflection_traits_info_std< true, T >
 
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...
 
class  set_reflection_handler
 

Enumerations

enum  ReflectionTraitsKind { RTK_STD_TYPE , RTK_SELF_REFLECT , RTK_EXTERNAL_SELF_REFLECT , RTK_STRING }
 different types of reflection traits More...
 

Functions

enum_reflection_traits< cgv::data::NamingConventionget_reflection_traits (const cgv::data::NamingConvention &)
 
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
 
reflection_traits< bool, RTK_STD_TYPE > get_reflection_traits (const bool &)
 example implementation of the cgv::reflect::get_reflection_traits() function
 
template<typename T , typename Q >
bool set_member (T &variable, const std::string &target, const Q &value)
 

Variables

class CGV_API reflection_handler
 

Detailed Description

in this namespace reflection of types is implemented

Enumeration Type Documentation

◆ ReflectionTraitsKind

different types of reflection traits

Definition at line 20 of file reflection_traits.h.

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.

Definition at line 65 of file get_reflection_handler.h.

References get_member().

Referenced by get_member().

◆ get_reflection_traits()

CGV_API enum_reflection_traits< cgv::data::NamingConvention > cgv::reflect::get_reflection_traits ( const cgv::data::NamingConvention )

Definition at line 8 of file ascii_io_reflection_handlers.cxx.

◆ set_member()

template<typename T , typename Q >
bool cgv::reflect::set_member ( T &  variable,
const std::string &  target,
const Q &  value 
)

Definition at line 58 of file set_reflection_handler.h.

Variable Documentation

◆ reflection_handler

Definition at line 17 of file reflection_traits.h.