cgv
Loading...
Searching...
No Matches
cgv::reflect::extern_string_reflection_traits< T, D > Struct Template Reference

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...

#include <reflect_extern.h>

Inheritance diagram for cgv::reflect::extern_string_reflection_traits< T, D >:
cgv::reflect::extern_reflection_traits_impl< D, reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT > > cgv::reflect::reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT > cgv::reflect::reflection_traits_string_impl< has_str, T, B > cgv::reflect::reflection_traits_impl< T, B, base_is_abst >

Public Member Functions

abst_reflection_traitsclone ()
 clone function
 
- Public Member Functions inherited from cgv::reflect::extern_reflection_traits_impl< D, reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT > >
bool has_external_implementation () const
 whether type can be converted to string, defaults to false
 
bool external_implementation (reflection_handler &rh, void *member_ptr)
 call the external implementation
 
- Public Member Functions inherited from cgv::reflect::reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT >
abst_reflection_traitsclone ()
 clone function
 
- Public Member Functions inherited from cgv::reflect::reflection_traits_impl< T, B, base_is_abst >
unsigned size () const
 return the size of the type
 
void * new_instance () const
 construct an instance on the heap with the new operator
 
void delete_instance (void *instance_ptr) const
 delete an instance with the delete operator
 
void * new_instances (unsigned n) const
 construct n instances on the heap with the new operator
 
void delete_instances (void *instance_array) const
 delete instances with the delete [] operator
 
cgv::type::info::TypeId get_type_id () const
 return the type id
 
const char * get_type_name () const
 return the type name
 
bool is_enum_type () const
 return whether type is an enum type - this is independent of whether enum interface is implemented
 

Additional Inherited Members

- Public Types inherited from cgv::reflect::extern_reflection_traits_impl< D, reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT > >
typedef D external_self_reflect_type
 compile time information about external type with self_reflect implementation
 
- Static Public Attributes inherited from cgv::reflect::extern_reflection_traits_impl< D, reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT > >
static const ReflectionTraitsKind kind
 
static const bool has_external
 compile information about external implementation
 
- Static Public Attributes inherited from cgv::reflect::reflection_traits< T, RTK_EXTERNAL_SELF_REFLECT >
static const ReflectionTraitsKind kind
 

Detailed Description

template<typename T, typename D>
struct cgv::reflect::extern_string_reflection_traits< T, D >

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

Definition at line 35 of file reflect_extern.h.

Member Function Documentation

◆ clone()

template<typename T , typename D >
abst_reflection_traits * cgv::reflect::extern_string_reflection_traits< T, D >::clone ( )
inline

clone function

Definition at line 38 of file reflect_extern.h.


The documentation for this struct was generated from the following file: