10template<container::FixedString field_name, auto field_po
inter, container::FixedString field_description>
11requires(concepts::MemberObjectPointer<
decltype(field_pointer)>)
13 constexpr static auto name = field_name;
14 constexpr static auto pointer = field_pointer;
22 constexpr static auto get(T&&
object) ->
decltype(
auto) {
26 constexpr static auto is_fields() ->
bool {
return false; }
27 constexpr static auto is_field() ->
bool {
return true; }
30 constexpr static auto is_atom() ->
bool {
return false; }
31 constexpr static auto is_integer() ->
bool {
return false; }
32 constexpr static auto is_bool() ->
bool {
return false; }
33 constexpr static auto is_string() ->
bool {
return false; }
34 constexpr static auto is_list() ->
bool {
return false; }
35 constexpr static auto is_tuple() ->
bool {
return false; }
36 constexpr static auto is_map() ->
bool {
return false; }
37 constexpr static auto is_variant() ->
bool {
return false; }
38 constexpr static auto is_box() ->
bool {
return false; }
60 constexpr static auto name = ClassName::value;
63 constexpr static auto is_fields() ->
bool {
return true; }
64 constexpr static auto is_field() ->
bool {
return false; }
67 constexpr static auto is_atom() ->
bool {
return false; }
68 constexpr static auto is_integer() ->
bool {
return false; }
69 constexpr static auto is_bool() ->
bool {
return false; }
70 constexpr static auto is_string() ->
bool {
return false; }
71 constexpr static auto is_list() ->
bool {
return false; }
72 constexpr static auto is_tuple() ->
bool {
return false; }
73 constexpr static auto is_map() ->
bool {
return false; }
74 constexpr static auto is_variant() ->
bool {
return false; }
75 constexpr static auto is_box() ->
bool {
return false; }
80 template<container::FixedString
class_name, container::FixedString description>
81 struct MakeFieldsFunction {
83 constexpr auto operator()(Fs...)
const {
90constexpr inline auto make_fields = detail::MakeFieldsFunction<class_name, description> {};
94using reflection::Field;
96using reflection::Fields;
Definition fixed_string.h:12
Checks if T is a Constexpr instance.
Definition constexpr.h:270
Definition language.h:203
Definition any_storable.h:9
FixedString(char const (&)[size]) -> FixedString< size - 1 >
constexpr auto invoke
Definition invoke.h:100
constexpr auto make_fields
Definition field.h:90
constexpr auto field
Definition field.h:47
Definition any_storable.h:9
static constexpr auto pointer
Definition field.h:14
auto operator<=>(Field const &) const =default
static constexpr auto is_box() -> bool
Definition field.h:38
meta::MemberPointerValue< decltype(pointer)> Type
Definition field.h:18
static constexpr auto is_bool() -> bool
Definition field.h:32
static constexpr auto is_fields() -> bool
Definition field.h:26
static constexpr auto is_variant() -> bool
Definition field.h:37
static constexpr auto is_list() -> bool
Definition field.h:34
static constexpr auto description
Definition field.h:15
static constexpr auto is_custom_atom() -> bool
Definition field.h:39
meta::MemberPointerClass< decltype(pointer)> Object
Definition field.h:17
static constexpr auto is_enumerators() -> bool
Definition field.h:29
static constexpr auto is_integer() -> bool
Definition field.h:31
static constexpr auto name
Definition field.h:13
static constexpr auto is_enumerator() -> bool
Definition field.h:28
static constexpr auto is_string() -> bool
Definition field.h:33
static constexpr auto get(T &&object) -> decltype(auto)
Definition field.h:22
static constexpr auto is_atom() -> bool
Definition field.h:30
static constexpr auto is_tuple() -> bool
Definition field.h:35
static constexpr auto is_map() -> bool
Definition field.h:36
static constexpr auto is_field() -> bool
Definition field.h:27
auto operator==(Field const &) const -> bool=default
static constexpr auto is_map() -> bool
Definition field.h:73
static constexpr auto is_tuple() -> bool
Definition field.h:72
static constexpr auto is_list() -> bool
Definition field.h:71
static constexpr auto is_atom() -> bool
Definition field.h:67
static constexpr auto is_bool() -> bool
Definition field.h:69
static constexpr auto is_string() -> bool
Definition field.h:70
static constexpr auto is_custom_atom() -> bool
Definition field.h:76
static constexpr auto description
Definition field.h:61
static constexpr auto is_enumerator() -> bool
Definition field.h:65
static constexpr auto is_box() -> bool
Definition field.h:75
static constexpr auto is_fields() -> bool
Definition field.h:63
static constexpr auto is_integer() -> bool
Definition field.h:68
static constexpr auto is_variant() -> bool
Definition field.h:74
static constexpr auto is_field() -> bool
Definition field.h:64
static constexpr auto is_enumerators() -> bool
Definition field.h:66
static constexpr auto name
Definition field.h:60