di 0.1.0
Loading...
Searching...
No Matches
di::reflection Namespace Reference

Classes

struct  Atom
struct  Enumerator
struct  Enumerators
struct  Field
struct  Fields

Variables

template<typename T>
constexpr auto atom = Atom<T> {}
constexpr auto enum_to_string = detail::EnumToStringFunction {}
template<container::FixedString enumerator_name, auto enumerator_value, container::FixedString description = "">
constexpr auto enumerator = Enumerator<enumerator_name, enumerator_value, description> {}
template<container::FixedString enum_name, container::FixedString description = "">
constexpr auto make_enumerators = detail::MakeEnumeratorsFunction<enum_name, description> {}
template<container::FixedString field_name, auto field_pointer, container::FixedString description = "">
constexpr auto field = Field<field_name, field_pointer, description> {}
template<container::FixedString class_name, container::FixedString description = "">
constexpr auto make_fields = detail::MakeFieldsFunction<class_name, description> {}
constexpr auto reflect = detail::ReflectFunction {}
template<concepts::Reflectable T, typename M = Reflect<T>>
constexpr auto type_name = detail::TypeName<meta::RemoveCVRef<T>, M>::name
constexpr auto valid_enum_value = detail::ValidEnumValueFunction {}

Variable Documentation

◆ atom

template<typename T>
auto di::reflection::atom = Atom<T> {}
inlineconstexpr

◆ enum_to_string

auto di::reflection::enum_to_string = detail::EnumToStringFunction {}
inlineconstexpr

◆ enumerator

template<container::FixedString enumerator_name, auto enumerator_value, container::FixedString description = "">
auto di::reflection::enumerator = Enumerator<enumerator_name, enumerator_value, description> {}
constexpr

◆ field

template<container::FixedString field_name, auto field_pointer, container::FixedString description = "">
auto di::reflection::field = Field<field_name, field_pointer, description> {}
constexpr

◆ make_enumerators

template<container::FixedString enum_name, container::FixedString description = "">
auto di::reflection::make_enumerators = detail::MakeEnumeratorsFunction<enum_name, description> {}
inlineconstexpr

◆ make_fields

template<container::FixedString class_name, container::FixedString description = "">
auto di::reflection::make_fields = detail::MakeFieldsFunction<class_name, description> {}
inlineconstexpr

◆ reflect

auto di::reflection::reflect = detail::ReflectFunction {}
inlineconstexpr

◆ type_name

template<concepts::Reflectable T, typename M = Reflect<T>>
auto di::reflection::type_name = detail::TypeName<meta::RemoveCVRef<T>, M>::name
inlineconstexpr

◆ valid_enum_value

auto di::reflection::valid_enum_value = detail::ValidEnumValueFunction {}
inlineconstexpr