28 #ifndef __RTTR_ENUMERATION_H__
29 #define __RTTR_ENUMERATION_H__
44 class enumeration_container_base;
104 bool is_valid()
const;
111 operator bool()
const;
118 std::string get_name()
const;
125 type get_underlying_type()
const;
132 type get_type()
const;
142 type get_declaring_type()
const;
152 variant get_metadata(
int key)
const;
162 variant get_metadata(
const std::string& key)
const;
171 std::vector<std::string> get_keys()
const;
181 std::vector<variant> get_values()
const;
189 std::string value_to_key(detail::argument value)
const;
196 variant key_to_value(
const std::string& key)
const;
215 enumeration(
const detail::enumeration_container_base* container =
nullptr);
217 const detail::enumeration_container_base* _container;
222 #endif // __RTTR_ENUMERATION_H__
This class holds the type information for any arbitrary object.
Definition: type.h:165
The enumeration class provides several meta information about an enum.
Definition: enumeration.h:96
The variant class allows to store data of any type and convert between these types transparently...
Definition: variant.h:125
#define RTTR_API
Definition: core_prerequisites.h:124