28 #ifndef __RTTR_ENUMERATION_CONTAINER_BASE_H__
29 #define __RTTR_ENUMERATION_CONTAINER_BASE_H__
38 #include <initializer_list>
53 class RTTR_API enumeration_container_base :
public metadata_container
56 enumeration_container_base(
const type declaring_type);
57 virtual ~enumeration_container_base();
59 virtual type get_underlying_type()
const = 0;
61 virtual type get_type()
const = 0;
63 virtual std::vector<std::string> get_keys()
const = 0;
65 virtual std::vector<variant> get_values()
const = 0;
67 virtual std::string value_to_key(detail::argument& value)
const = 0;
69 virtual variant key_to_value(
const std::string& key)
const = 0;
72 type get_declaring_type()
const;
75 const type _declaring_type;
81 #endif // __RTTR_ENUMERATION_CONTAINER_BASE_H__
#define RTTR_API
Definition: core_prerequisites.h:124