cgv
|
type independent functionality for all enum fallback implementations More...
#include <reflect_enum.h>
Public Member Functions | |
virtual std::vector< cgv::utils::token > & | ref_names ()=0 |
virtual std::vector< int > & | ref_values ()=0 |
virtual std::string & | declarations () const =0 |
void | parse_declarations () |
bool | has_string_conversions () const |
whether type can be converted to string, defaults to false | |
bool | set_from_string (void *member_ptr, const std::string &str_val) |
convert a given string value to the reflected type and store in the instance pointer | |
void | get_to_string (const void *member_ptr, std::string &str_val) |
convert given instance into a string value | |
bool | has_enum_interface () const |
return whether the traits class implements the enum interface | |
unsigned | get_nr_enum_items () const |
return the number of enum items | |
std::string | get_enum_name (unsigned i) const |
return the name of the i-th enum item | |
int | get_enum_value (unsigned i) const |
return the value of the i-th enum item | |
![]() | |
virtual | ~abst_reflection_traits () |
provide virtual destructor to allow generation of copies | |
virtual abst_reflection_traits * | clone ()=0 |
clone function | |
virtual unsigned | size () const =0 |
return the size of the type | |
virtual void * | new_instance () const =0 |
construct an instance on the heap with the new operator | |
virtual void | delete_instance (void *) const =0 |
delete an instance with the delete operator | |
virtual void * | new_instances (unsigned n) const =0 |
construct n instances on the heap with the new operator | |
virtual void | delete_instances (void *) const =0 |
delete instances with the delete [] operator | |
virtual cgv::type::info::TypeId | get_type_id () const =0 |
return the type id | |
virtual const char * | get_type_name () const =0 |
return the type name | |
virtual bool | has_external_implementation () const |
whether type can be converted to string, defaults to false | |
virtual bool | external_implementation (reflection_handler &rh, void *member_ptr) |
call the external implementation | |
virtual bool | is_enum_type () const |
return whether type is an enum type - this is independent of whether enum interface is implemented | |
Static Public Attributes | |
static const bool | has_enum = true |
compile information about enum interface | |
static const ReflectionTraitsKind | kind = RTK_STRING |
![]() | |
static const bool | has_external = false |
compile information about external implementation | |
static const bool | has_string = false |
compile information about string conversions | |
static const bool | has_enum = false |
compile information about enum interface | |
type independent functionality for all enum fallback implementations
Definition at line 10 of file reflect_enum.h.
|
virtual |
return the name of the i-th enum item
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 45 of file reflect_enum.cxx.
Referenced by enum_config_view::get_user_data().
|
virtual |
return the value of the i-th enum item
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 49 of file reflect_enum.cxx.
|
virtual |
return the number of enum items
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 41 of file reflect_enum.cxx.
|
virtual |
convert given instance into a string value
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 28 of file reflect_enum.cxx.
References cgv::utils::find_enum_index().
|
virtual |
return whether the traits class implements the enum interface
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 37 of file reflect_enum.cxx.
|
virtual |
whether type can be converted to string, defaults to false
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 14 of file reflect_enum.cxx.
void cgv::reflect::abst_enum_reflection_traits::parse_declarations | ( | ) |
Definition at line 9 of file reflect_enum.cxx.
|
virtual |
convert a given string value to the reflected type and store in the instance pointer
Reimplemented from cgv::reflect::abst_reflection_traits.
Definition at line 19 of file reflect_enum.cxx.
References cgv::utils::find_enum_index().
|
static |
compile information about enum interface
Definition at line 13 of file reflect_enum.h.
|
static |
Definition at line 14 of file reflect_enum.h.