3 #include "reflection_handler.h"
13 static const bool has_enum =
true;
16 virtual std::vector<cgv::utils::token>& ref_names() = 0;
17 virtual std::vector<int>& ref_values() = 0;
18 virtual std::string& declarations()
const = 0;
20 void parse_declarations();
21 bool has_string_conversions()
const;
22 bool set_from_string(
void* member_ptr,
const std::string& str_val);
23 void get_to_string(
const void* member_ptr, std::string& str_val);
25 bool has_enum_interface()
const;
26 unsigned get_nr_enum_items()
const;
27 std::string get_enum_name(
unsigned i)
const;
28 int get_enum_value(
unsigned i)
const;
35 std::vector<cgv::utils::token>& ref_names() {
static std::vector<cgv::utils::token> names;
return names; }
36 std::vector<int>& ref_values() {
static std::vector<int> values;
return values; }
37 std::string& declarations()
const {
static std::string decs;
return decs; }
42 if (!_declarations.empty()) {
43 declarations() = _declarations;
44 this->parse_declarations();
46 #ifdef REFLECT_TRAITS_WITH_DECLTYPE
47 if (declarations().empty())
48 get_reflection_traits(T());
58 #include <cgv/config/lib_end.h>