9template<container::FixedString enumerator_name, auto enumerator_value>
10requires(concepts::Enum<
decltype(enumerator_value)>)
12 constexpr static auto name = enumerator_name;
13 constexpr static auto value = enumerator_value;
15 using Type =
decltype(enumerator_value);
19 constexpr static auto is_fields() ->
bool {
return false; }
20 constexpr static auto is_field() ->
bool {
return false; }
23 constexpr static auto is_atom() ->
bool {
return false; }
24 constexpr static auto is_integer() ->
bool {
return false; }
25 constexpr static auto is_bool() ->
bool {
return false; }
26 constexpr static auto is_string() ->
bool {
return false; }
27 constexpr static auto is_list() ->
bool {
return false; }
28 constexpr static auto is_tuple() ->
bool {
return false; }
29 constexpr static auto is_map() ->
bool {
return false; }
30 constexpr static auto is_variant() ->
bool {
return false; }
31 constexpr static auto is_box() ->
bool {
return false; }
38template<container::FixedString enumerator_name, auto enumerator_value>
47} && T::is_enumerator();
53 constexpr static auto name = EnumName::value;
55 constexpr static auto is_fields() ->
bool {
return false; }
56 constexpr static auto is_field() ->
bool {
return false; }
59 constexpr static auto is_atom() ->
bool {
return false; }
60 constexpr static auto is_integer() ->
bool {
return false; }
61 constexpr static auto is_bool() ->
bool {
return false; }
62 constexpr static auto is_string() ->
bool {
return false; }
63 constexpr static auto is_list() ->
bool {
return false; }
64 constexpr static auto is_tuple() ->
bool {
return false; }
65 constexpr static auto is_map() ->
bool {
return false; }
66 constexpr static auto is_variant() ->
bool {
return false; }
67 constexpr static auto is_box() ->
bool {
return false; }
72 template<container::FixedString enum_name>
73 struct MakeEnumeratorsFunction {
75 constexpr auto operator()(Es...)
const {
81template<container::FixedString enum_name>
86using reflection::Enumerator;
88using reflection::Enumerators;
Checks if T is a Constexpr instance.
Definition constexpr.h:270
Definition language.h:259
Definition enumerator.h:45
Definition any_storable.h:9
constexpr auto enumerator
Definition enumerator.h:40
constexpr auto make_enumerators
Definition enumerator.h:82
Definition any_storable.h:9
Definition enumerator.h:11
static constexpr auto is_bool() -> bool
Definition enumerator.h:25
static constexpr auto is_atom() -> bool
Definition enumerator.h:23
static constexpr auto is_list() -> bool
Definition enumerator.h:27
static constexpr auto get() -> Type
Definition enumerator.h:17
static constexpr auto is_tuple() -> bool
Definition enumerator.h:28
auto operator==(Enumerator const &) const -> bool=default
static constexpr auto is_fields() -> bool
Definition enumerator.h:19
auto operator<=>(Enumerator const &) const =default
static constexpr auto is_variant() -> bool
Definition enumerator.h:30
decltype(enumerator_value) Type
Definition enumerator.h:15
static constexpr auto is_box() -> bool
Definition enumerator.h:31
static constexpr auto is_string() -> bool
Definition enumerator.h:26
static constexpr auto value
Definition enumerator.h:13
static constexpr auto is_integer() -> bool
Definition enumerator.h:24
static constexpr auto is_enumerators() -> bool
Definition enumerator.h:22
static constexpr auto is_enumerator() -> bool
Definition enumerator.h:21
static constexpr auto name
Definition enumerator.h:12
static constexpr auto is_field() -> bool
Definition enumerator.h:20
static constexpr auto is_custom_atom() -> bool
Definition enumerator.h:32
static constexpr auto is_map() -> bool
Definition enumerator.h:29
Definition enumerator.h:52
static constexpr auto is_variant() -> bool
Definition enumerator.h:66
static constexpr auto is_map() -> bool
Definition enumerator.h:65
static constexpr auto is_atom() -> bool
Definition enumerator.h:59
static constexpr auto is_integer() -> bool
Definition enumerator.h:60
static constexpr auto is_enumerators() -> bool
Definition enumerator.h:58
static constexpr auto is_string() -> bool
Definition enumerator.h:62
static constexpr auto is_fields() -> bool
Definition enumerator.h:55
static constexpr auto is_box() -> bool
Definition enumerator.h:67
static constexpr auto is_enumerator() -> bool
Definition enumerator.h:57
static constexpr auto is_field() -> bool
Definition enumerator.h:56
static constexpr auto is_custom_atom() -> bool
Definition enumerator.h:68
static constexpr auto name
Definition enumerator.h:53
static constexpr auto is_list() -> bool
Definition enumerator.h:63
static constexpr auto is_tuple() -> bool
Definition enumerator.h:64
static constexpr auto is_bool() -> bool
Definition enumerator.h:61