di 0.1.0
Loading...
Searching...
No Matches
di::reflection::Field< field_name, field_pointer, field_description > Struct Template Reference

#include <di/reflect/field.h>

Public Types

using Object = meta::MemberPointerClass<decltype(pointer)>
using Type = meta::MemberPointerValue<decltype(pointer)>

Public Member Functions

auto operator== (Field const &) const -> bool=default
auto operator<=> (Field const &) const =default

Static Public Member Functions

template<typename T>
requires (concepts::Invocable<decltype(pointer), T>)
static constexpr auto get (T &&object) -> decltype(auto)
static constexpr auto is_fields () -> bool
static constexpr auto is_field () -> bool
static constexpr auto is_enumerator () -> bool
static constexpr auto is_enumerators () -> bool
static constexpr auto is_atom () -> bool
static constexpr auto is_integer () -> bool
static constexpr auto is_bool () -> bool
static constexpr auto is_string () -> bool
static constexpr auto is_list () -> bool
static constexpr auto is_tuple () -> bool
static constexpr auto is_map () -> bool
static constexpr auto is_variant () -> bool
static constexpr auto is_box () -> bool
static constexpr auto is_custom_atom () -> bool

Static Public Attributes

static constexpr auto name = field_name
static constexpr auto pointer = field_pointer
static constexpr auto description = field_description

Member Typedef Documentation

◆ Object

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
using di::reflection::Field< field_name, field_pointer, field_description >::Object = meta::MemberPointerClass<decltype(pointer)>

◆ Type

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
using di::reflection::Field< field_name, field_pointer, field_description >::Type = meta::MemberPointerValue<decltype(pointer)>

Member Function Documentation

◆ get()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
template<typename T>
requires (concepts::Invocable<decltype(pointer), T>)
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::get ( T && object) ->decltype(auto)
inlinestaticconstexpr

◆ is_atom()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_atom ( ) ->bool
inlinestaticconstexpr

◆ is_bool()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_bool ( ) ->bool
inlinestaticconstexpr

◆ is_box()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_box ( ) ->bool
inlinestaticconstexpr

◆ is_custom_atom()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_custom_atom ( ) ->bool
inlinestaticconstexpr

◆ is_enumerator()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_enumerator ( ) ->bool
inlinestaticconstexpr

◆ is_enumerators()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_enumerators ( ) ->bool
inlinestaticconstexpr

◆ is_field()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_field ( ) ->bool
inlinestaticconstexpr

◆ is_fields()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_fields ( ) ->bool
inlinestaticconstexpr

◆ is_integer()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_integer ( ) ->bool
inlinestaticconstexpr

◆ is_list()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_list ( ) ->bool
inlinestaticconstexpr

◆ is_map()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_map ( ) ->bool
inlinestaticconstexpr

◆ is_string()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_string ( ) ->bool
inlinestaticconstexpr

◆ is_tuple()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_tuple ( ) ->bool
inlinestaticconstexpr

◆ is_variant()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
constexpr auto di::reflection::Field< field_name, field_pointer, field_description >::is_variant ( ) ->bool
inlinestaticconstexpr

◆ operator<=>()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
auto di::reflection::Field< field_name, field_pointer, field_description >::operator<=> ( Field< field_name, field_pointer, field_description > const & ) const
default

◆ operator==()

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
auto di::reflection::Field< field_name, field_pointer, field_description >::operator== ( Field< field_name, field_pointer, field_description > const & ) const->bool=default
default

Member Data Documentation

◆ description

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
auto di::reflection::Field< field_name, field_pointer, field_description >::description = field_description
staticconstexpr

◆ name

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
auto di::reflection::Field< field_name, field_pointer, field_description >::name = field_name
staticconstexpr

◆ pointer

template<container::FixedString field_name, auto field_pointer, container::FixedString field_description>
auto di::reflection::Field< field_name, field_pointer, field_description >::pointer = field_pointer
staticconstexpr

The documentation for this struct was generated from the following file: