|
| | call_reflection_handler (void *_instance, const std::string &_method, const std::vector< std::string > &_param_value_types, const std::vector< const void * > &_param_value_ptrs, const std::string &_result_type, void *_result_value_ptr) |
| |
| bool | reflect_member_void (const std::string &member_name, void *member_ptr, abst_reflection_traits *rt) |
| | empty implementation
|
| |
| bool | reflect_method_void (const std::string &method_name, method_interface *mi_ptr, abst_reflection_traits *return_traits, const std::vector< abst_reflection_traits * > ¶m_value_traits) |
| | abstract interface to reflect a method, where return and parameter types are specified as strings.
|
| |
Public Member Functions inherited from cgv::reflect::reflection_handler |
| virtual bool | is_creative () const |
| | give information on whether reflection_handler creates object (defaults to false)
|
| |
| template<typename T > |
| bool | reflect_member (const std::string &member_name, T &member_ref, bool hard_cast=false) |
| | call this to reflect a member by member name and reference to the member.
|
| |
| template<typename M > |
| bool | reflect_method (const std::string &method_name, M m) |
| | call this to reflect a method by method name and reference to the member.
|
| |
| template<typename B > |
| bool | reflect_base (B &base_ref) |
| | reflect a base class with its members
|
| |
| template<typename T , unsigned n> |
| bool | reflect_member (const std::string &member_name, T(&member_ref)[n]) |
| | reflect a member of constant size array type
|
| |
| template<typename T > |
| bool | reflect_member (const std::string &member_name, std::vector< T > &member_ref) |
| | reflect a member of vector type
|
| |
| template<typename T > |
| bool | reflect_member (const std::string &member_name, T *&member_ref) |
| | reflect a member of pointer type.
|
| |
| template<typename T , typename S > |
| bool | reflect_array (const std::string &member_name, T *&member_ref, S &size) |
| | reflect a dynamic array member of vector type
|
| |
| virtual | ~reflection_handler () |
| | declare virtual destructor
|
| |
|
Public Types inherited from cgv::reflect::reflection_handler |
| enum | GroupTraversal { GT_TERMINATE = -3
, GT_SKIP = -2
, GT_COMPLETE = -1
} |
| | @ basic types with helper functions More...
|
| |
| enum | GroupKind {
GK_NO_GROUP
, GK_BASE_CLASS
, GK_STRUCTURE
, GK_VECTOR
,
GK_ARRAY
, GK_POINTER
} |
| | different support group types More...
|
| |
Static Public Member Functions inherited from cgv::reflect::reflection_handler |
| static std::string | group_traversal_name (GroupTraversal gt) |
| | return the group traversals as a string
|
| |
| static const char * | group_kind_name (GroupKind gk) |
| | return the group kind as a string
|
| |
| static bool | is_array_kind (GroupKind gk) |
| | check whether a group kind is of array or vector kind
|
| |
Protected Member Functions inherited from cgv::reflect::reflection_handler |
| GroupTraversal | process_structural_group_begin (GroupKind gk, const std::string &member_name, GroupTraversal gt) |
| | type independent part of the reflect_group method that starts the group traversal
|
| |
| bool | group_end (GroupKind gk) |
| | updates the nesting info at the end of group and always returns true
|
| |
| template<typename T , typename RT , typename D > |
| bool | self_reflect_member (const std::string &member_name, T &member_ref, const RT &, const D &, bool hard_cast) |
| | implementation of reflection with internal or external self_reflect function
|
| |
| int | reflect_array_begin (GroupKind group_kind, const std::string &group_name, void *group_ptr, abst_reflection_traits *rt, unsigned grp_size) |
| | type independent functionality of array reflection
|
| |
| virtual int | reflect_group_begin (GroupKind group_kind, const std::string &group_name, void *group_ptr, abst_reflection_traits *rt, unsigned grp_size=-1) |
| | abstract interface to start reflection of a group of members.
|
| |
| virtual void | reflect_group_end (GroupKind group_kind) |
| | abstract interface to terminate reflection of a group of members
|
| |
Protected Attributes inherited from cgv::reflect::reflection_handler |
| std::vector< nesting_info > | nesting_info_stack |
| | stack of nesting_info used during the reflection process
|
| |
Definition at line 121 of file base.cxx.