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>