AUI_ENUM_VALUES#
Defines all enum values for AEnumerate.
| Header: | #include <AUI/Reflect/AEnumerate.h> |
| CMake: | aui_link(my_target PUBLIC aui::core) |
Definition#
#define AUI_ENUM_VALUES(enum_t, ...) template<> \
struct AEnumerateAllValues<enum_t>{ \
static inline constexpr AEnumerate<enum_t>::Values<__VA_ARGS__> get() {return {}; } \
}; \
namespace std { inline AString to_wstring(enum_t v) { return AEnumerate<enum_t>::valueToNameMap().optional(v).valueOr("<unknown enum value {}>"_format(int(v))); } } \
inline std::ostream& operator<<(std::ostream& o, enum_t v) { return o << std::to_wstring(v); }
Detailed Description#
Defines all enum values to by used by AEnumerate.
enum class ATextOverflow {
NONE,
ELLIPSIS,
CLIP
};
AUI_ENUM_VALUES(ATextOverflow,
ATextOverflow::ELLIPSIS,
ATextOverflow::CLIP)
// AEnumerate<ATextOverflow>::toName(ATextOverflow::CLIP) -> "CLIP"