|
struct | refl::util::const_string< N > |
| Represents a compile-time string. More...
|
|
struct | refl::util::type_list< Ts > |
| Represents a compile-time list of types provided as variadic template parameters. More...
|
|
struct | refl::util::type_list< T > |
|
struct | refl::member::field |
| An empty type which is equivalent to refl::member_descriptor_base::member_type when the reflected member is a field. More...
|
|
struct | refl::member::function |
| An empty type which is equivalent to refl::member_descriptor_base::member_type when the reflected member is a function. More...
|
|
class | refl::descriptor::type_descriptor< T > |
| Represents a reflected type. More...
|
|
class | refl::descriptor::field_descriptor< T, N > |
| Represents a reflected field. More...
|
|
class | refl::descriptor::function_descriptor< T, N > |
| Represents a reflected function. More...
|
|
struct | refl::trait::remove_qualifiers< T > |
| Removes all reference and cv-qualifiers from T. More...
|
|
struct | refl::trait::is_reflectable< T > |
| Checks whether there is reflection metadata for the type T. More...
|
|
struct | refl::trait::is_container< T > |
| Checks whether objects of the type T support member .begin() and .end() operations. More...
|
|
struct | refl::trait::get< N, type_list< Ts... > > |
| Provides a member typedef type which is the N-th type in the provided type_list. More...
|
|
struct | refl::trait::skip< N, type_list< Ts... > > |
| Skips the first N types in the provided type_list. More...
|
|
struct | refl::trait::as_type_list< T< Ts... > > |
| Provides a member typedef type which is a type_list with template type parameters equivalent to the type parameters of the provided type. More...
|
|
struct | refl::trait::as_tuple< T< Ts... > > |
| Provides a member typedef which is a std::tuple specialization with template type parameters equivalent to the type parameters of the provided type. More...
|
|
struct | refl::trait::reverse< TypeList > |
| Reverses a list of types. More...
|
|
struct | refl::trait::concat<... > |
| Concatenates N lists together. More...
|
|
struct | refl::trait::append< T, TypeList > |
| Appends a type to the list. More...
|
|
struct | refl::trait::prepend< T, TypeList > |
| Prepends a type to the list. More...
|
|
struct | refl::trait::prepend< T, TypeList > |
| Prepends a type to the list. More...
|
|
struct | refl::trait::filter< Predicate, type_list< Ts... > > |
| Filters a type_list according to a predicate template. More...
|
|
struct | refl::trait::map< Mapper, type_list< Ts... > > |
| Transforms a type_list according to a predicate template. More...
|
|
struct | refl::trait::is_instance< T > |
| Detects whether T is a template specialization. More...
|
|
struct | refl::trait::is_instance_of< T, U > |
| Detects whther the type U is a template specialization of T. More...
|
|
struct | refl::trait::contains< T, type_list< Ts... > > |
| Checks whether T is contained in the list of types. More...
|
|
struct | refl::trait::contains_instance< T, type_list< Ts... > > |
| Checks whether an instance of the template T is contained in the list of types. More...
|
|
struct | refl::trait::contains_base< T, type_list< Ts... > > |
| Checks whether a type deriving from T is contained in the list of types. More...
|
|
struct | refl::trait::index_of< T, type_list< Ts... > > |
| The index of the type in the type list, -1 if it doesn't exist. More...
|
|
struct | refl::trait::index_of_base< T, type_list< Ts... > > |
| The index of the type in the type list that is derived from T, -1 if it doesn't exist. More...
|
|
struct | refl::trait::index_of_instance< T, type_list< Ts... > > |
| The index of the type in the type list that is a template instance of T, -1 if it doesn't exist. More...
|
|
struct | refl::trait::unique< T > |
| Creates a new list containing the repeating elements in the source list only once. More...
|
|
struct | refl::attr::usage::type |
| Specifies that an attribute type inheriting from this type can only be used with REFL_TYPE() More...
|
|
struct | refl::attr::usage::function |
| Specifies that an attribute type inheriting from this type can only be used with REFL_FUNC() More...
|
|
struct | refl::attr::usage::field |
| Specifies that an attribute type inheriting from this type can only be used with REFL_FIELD() More...
|
|
struct | refl::attr::usage::member |
| Specifies that an attribute type inheriting from this type can only be used with REFL_FUNC or REFL_FIELD. More...
|
|
struct | refl::attr::usage::any |
| Specifies that an attribute type inheriting from this type can only be used with any one of REFL_TYPE, REFL_FIELD, REFL_FUNC. More...
|
|
struct | refl::attr::property |
| Used to decorate a function that serves as a property. More...
|
|
struct | refl::attr::debug< F > |
| Used to specify how a type should be displayed in debugging contexts. More...
|
|
struct | refl::attr::base_types< Ts > |
| Used to specify the base types of the target type. More...
|
|
struct | refl::trait::is_member< T > |
| A trait for detecting whether the type 'T' is a member descriptor. More...
|
|
struct | refl::trait::is_field< T > |
| A trait for detecting whether the type 'T' is a field descriptor. More...
|
|
struct | refl::trait::is_function< T > |
| A trait for detecting whether the type 'T' is a function descriptor. More...
|
|
struct | refl::trait::is_type< T > |
| Detects whether the type T is a type_descriptor. More...
|
|
struct | refl::trait::is_descriptor< T > |
| A trait for detecting whether the type 'T' is a refl-cpp descriptor. More...
|
|
struct | refl::trait::is_property< T > |
| Checks whether T is marked as a property. More...
|
|
class | refl::descriptor::member_descriptor_base< T, N > |
| The base type for member descriptors. More...
|
|
class | refl::descriptor::field_descriptor< T, N > |
| Represents a reflected field. More...
|
|
class | refl::descriptor::function_descriptor< T, N > |
| Represents a reflected function. More...
|
|
class | refl::descriptor::type_descriptor< T > |
| Represents a reflected type. More...
|
|
struct | refl::runtime::proxy< Derived, Target > |
| A proxy object that has a static interface identical to the reflected functions and fields of the target. More...
|
|
struct | refl::trait::is_proxy< T > |
|
struct | refl::trait::is_proxy< T > |
|
|
template<typename T > |
using | refl::util::type_tag = type_list< T > |
|
template<typename T > |
using | refl::trait::remove_qualifiers_t = typename remove_qualifiers< T >::type |
| Removes all reference and cv-qualifiers from T. More...
|
|
template<size_t N, typename TypeList > |
using | refl::trait::get_t = typename get< N, TypeList >::type |
| The N-th type in the provided type_list. More...
|
|
template<size_t N, typename TypeList > |
using | refl::trait::skip_t = typename skip< N, TypeList >::type |
| Skips the first N types in the provided type_list. More...
|
|
template<typename T > |
using | refl::trait::as_type_list_t = typename as_type_list< T >::type |
| A typedef for a type_list with template type parameters equivalent to the type parameters of the provided type. More...
|
|
template<typename T > |
using | refl::trait::as_tuple_t = typename as_tuple< T >::type |
| A typedef for a std::tuple specialization with template type parameters equivalent to the type parameters of the provided type. More...
|
|
template<typename TypeList > |
using | refl::trait::first = get< 0, TypeList > |
| Accesses first type in the list. More...
|
|
template<typename TypeList > |
using | refl::trait::first_t = typename first< TypeList >::type |
| Accesses last type in the list. More...
|
|
template<typename TypeList > |
using | refl::trait::last = get< TypeList::size - 1, TypeList > |
| Accesses last type in the list. More...
|
|
template<typename TypeList > |
using | refl::trait::last_t = typename last< TypeList >::type |
| Accesses last type in the list. More...
|
|
template<typename TypeList > |
using | refl::trait::tail = skip< 1, TypeList > |
| Returns all but the first element of the list. More...
|
|
template<typename TypeList > |
using | refl::trait::tail_t = typename tail< TypeList >::type |
| Returns all but the first element of the list. More...
|
|
template<size_t N, typename TypeList > |
using | refl::trait::take = detail::take< type_list<>, N, TypeList > |
| Returns the first N elements of the list. More...
|
|
template<size_t N, typename TypeList > |
using | refl::trait::take_t = typename take< N, TypeList >::type |
| Returns the first N elements of the list. More...
|
|
template<typename TypeList > |
using | refl::trait::init = take< TypeList::size - 1, TypeList > |
| Returns all but the last element of the list. More...
|
|
template<typename TypeList > |
using | refl::trait::init_t = typename init< TypeList >::type |
| Returns all but the last element of the list. More...
|
|
template<typename TypeList > |
using | refl::trait::reverse_t = typename reverse< TypeList >::type |
| Reverses a list of types. More...
|
|
template<typename... Ts> |
using | refl::trait::concat_t = typename concat< Ts... >::type |
| Concatenates two lists together. More...
|
|
template<typename T , typename TypeList > |
using | refl::trait::append_t = typename append< T, TypeList >::type |
| Appends a type to the list. More...
|
|
template<typename T , typename TypeList > |
using | refl::trait::prepend_t = typename prepend< T, TypeList >::type |
| Prepends a type to the list. More...
|
|
template<template< typename > typename Predicate, typename TypeList > |
using | refl::trait::filter_t = typename filter< Predicate, TypeList >::type |
| Filters a type_list according to a predicate template with a static boolean member named "value" (e.g. More...
|
|
template<template< typename > typename Mapper, typename... Ts> |
using | refl::trait::map_t = typename map< Mapper, Ts... >::type |
| Transforms a type_list according to a predicate template with a typedef named "type" (e.g. More...
|
|
template<typename T > |
using | refl::trait::unique_t = typename unique< T >::type |
| Creates a new list containing the repeating elements in the source list only once. More...
|
|
template<typename T > |
using | refl::descriptor::declared_member_list = typename detail::declared_member_list< T >::type |
| A type_list of the declared member descriptors of the target type T. More...
|
|
template<typename T > |
using | refl::descriptor::member_list = typename detail::member_list< T >::type |
| A type_list of the declared and inherited member descriptors of the target type T. More...
|
|
template<typename FunctionDescriptor , typename... Args> |
using | refl::descriptor::result_type = typename FunctionDescriptor::template result_type< Args... > |
| The return type when invoking the specified descriptor using the provided argument types. More...
|
|
|
constexpr const_string< 0 > | refl::util::make_const_string () noexcept |
| Creates an empty instance of const_string<N> More...
|
|
template<size_t N> |
constexpr const_string< N - 1 > | refl::util::make_const_string (const char(&str)[N]) noexcept |
| Creates an instance of const_string<N> More...
|
|
constexpr const_string< 1 > | refl::util::make_const_string (char ch) noexcept |
| Creates an instance of const_string<N> More...
|
|
template<size_t N, size_t M> |
constexpr const_string< N+M > | refl::util::operator+ (const const_string< N > &a, const const_string< M > &b) noexcept |
| Concatenates two const_strings together. More...
|
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | refl::util::operator+ (const const_string< N > &a, const char(&b)[M]) noexcept |
| Concatenates a const_string with a C-style string. More...
|
|
template<size_t N, size_t M> |
constexpr const_string< N+M - 1 > | refl::util::operator+ (const char(&a)[N], const const_string< M > &b) noexcept |
| Concatenates a C-style string with a const_string. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const const_string< N > &a, const const_string< M > &b) noexcept |
| Compares two const_strings for equality. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const const_string< N > &a, const const_string< M > &b) noexcept |
| Compares two const_strings for equality. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const const_string< N > &a, const char(&b)[M]) noexcept |
| Compares a const_string with a C-style string for equality. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const const_string< N > &a, const char(&b)[M]) noexcept |
| Compares a const_string with a C-style string for equality. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator== (const char(&a)[N], const const_string< M > &b) noexcept |
| Compares a C-style string with a const_string for equality. More...
|
|
template<size_t N, size_t M> |
constexpr bool | refl::util::operator!= (const char(&a)[N], const const_string< M > &b) noexcept |
| Compares a C-style string with a const_string for equality. More...
|
|
template<size_t N> |
constexpr std::ostream & | refl::util::operator<< (std::ostream &os, const const_string< N > &str) noexcept |
|
template<typename T = int, typename... Ts> |
constexpr int | refl::util::ignore (Ts &&...) noexcept |
| Ignores all parameters. More...
|
|
template<typename T > |
constexpr decltype(auto) | refl::util::identity (T &&t) noexcept |
| Returns the input paratemeter as-is. More...
|
|
template<typename T > |
constexpr const T & | refl::util::make_const (const T &value) noexcept |
| Adds const to the input reference. More...
|
|
template<typename T > |
constexpr const T & | refl::util::make_const (T &value) noexcept |
| Adds const to the input reference. More...
|
|
template<typename T , typename... Ts> |
constexpr std::array< T, sizeof...(Ts)> | refl::util::to_array (const std::tuple< Ts... > &tuple) noexcept |
| Creates an array of type 'T' from the provided tuple. More...
|
|
template<typename T , size_t N> |
constexpr auto | refl::util::to_tuple (const std::array< T, N > &array) noexcept |
| Creates a tuple from the provided array. More...
|
|
template<typename... Ts> |
constexpr std::tuple< Ts... > | refl::util::as_tuple (type_list< Ts... >) noexcept |
| Creates a matching std::tuple from a type_list. More...
|
|
template<typename... Ts> |
constexpr type_list< Ts... > | refl::util::as_type_list (const std::tuple< Ts... > &) noexcept |
| Creates a matching type_list from a std::tuple. More...
|
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::map_to_tuple (type_list< Ts... > list, F &&f) |
| Applies function F to each type in the type_list, aggregating the results in a tuple. More...
|
|
template<typename T , typename F , typename... Ts> |
constexpr auto | refl::util::map_to_array (type_list< Ts... > list, F &&f) |
| Applies function F to each type in the type_list, aggregating the results in an array. More...
|
|
template<typename F , typename... Ts> |
constexpr void | refl::util::for_each (type_list< Ts... > list, F &&f) |
| Applies function F to each type in the type_list. More...
|
|
template<typename R , typename F , typename T , typename... Ts> |
constexpr auto | refl::util::accumulate (type_list< T, Ts... >, F &&f, R &&initial_value) |
|
template<typename F , typename... Ts> |
constexpr size_t | refl::util::count_if (type_list< Ts... > list, F &&f) |
| Counts the number of times the predicate F returns true. More...
|
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::filter (type_list< Ts... > list, F &&f) |
| Filters the list according to a constexpr predicate. More...
|
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::find_first (type_list< Ts... > list, F &&f) |
| Returns the first instance that matches the constexpr predicate. More...
|
|
template<typename F , typename... Ts> |
constexpr auto | refl::util::find_one (type_list< Ts... > list, F &&f) |
| Returns the only instance that matches the constexpr predicate. More...
|
|
template<typename F , typename... Ts> |
constexpr bool | refl::util::contains (type_list< Ts... > list, F &&f) |
| Returns true if any item in the list matches the predicate. More...
|
|
template<typename T , typename... Ts> |
constexpr bool | refl::util::contains (type_list< Ts... >) |
| Returns true if the type_list contains the specified type. More...
|
|
template<typename T , typename... Ts> |
constexpr bool | refl::util::contains_base (const std::tuple< Ts... > &) |
| Returns true if the tuple contains the specified type or a supertype. More...
|
|
template<template< typename... > typename T, typename... Ts> |
constexpr bool | refl::util::contains_instance (const std::tuple< Ts... > &) |
| Returns true if the tuple contains an instance of the specified type. More...
|
|
template<typename... Ts, typename F > |
constexpr auto | refl::util::apply (type_list< Ts... >, F &&f) |
| Applies a function to the elements of the type_list. More...
|
|
template<size_t N, typename... Ts> |
constexpr auto & | refl::util::get (std::tuple< Ts... > &ts) noexcept |
| A synonym for std::get<N>(tuple). More...
|
|
template<size_t N, typename... Ts> |
constexpr const auto & | refl::util::get (const std::tuple< Ts... > &ts) noexcept |
| A synonym for std::get<N>(tuple). More...
|
|
template<typename T , typename... Ts> |
constexpr T & | refl::util::get (std::tuple< Ts... > &ts) noexcept |
| A synonym for std::get<T>(tuple). More...
|
|
template<typename T , typename... Ts> |
constexpr const T & | refl::util::get (const std::tuple< Ts... > &ts) noexcept |
| A synonym for std::get<T>(tuple). More...
|
|
template<template< typename... > typename T, typename... Ts> |
constexpr auto & | refl::util::get_instance (std::tuple< Ts... > &ts) noexcept |
| Returns the value of type U, where U is a template instance of T. More...
|
|
template<template< typename... > typename T, typename... Ts> |
constexpr const auto & | refl::util::get_instance (const std::tuple< Ts... > &ts) noexcept |
| Returns the value of type U, where U is a template instance of T. More...
|
|
template<typename... Ts> |
constexpr type_list< descriptor::type_descriptor< Ts >... > | refl::util::reflect_types (type_list< Ts... >) noexcept |
| Converts a type_list of types to a type_list of the type_descriptors for these types. More...
|
|
template<typename... Ts> |
constexpr type_list< Ts... > | refl::util::unreflect_types (type_list< descriptor::type_descriptor< Ts >... >) noexcept |
| Converts a type_list of type_descriptors to a type_list of the target types. More...
|
|
template<typename Descriptor > |
constexpr auto | refl::descriptor::get_name (Descriptor d) noexcept |
| Returns the full name of the descriptor. More...
|
|
template<typename Descriptor > |
constexpr const auto & | refl::descriptor::get_attributes (Descriptor d) noexcept |
| Returns a const reference to the descriptor's attribute tuple. More...
|
|
template<typename Descriptor > |
constexpr auto | refl::descriptor::get_attribute_types (Descriptor d) noexcept |
| Returns a type_list of the descriptor's attribute types. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_declared_base_types (TypeDescriptor t) noexcept |
| Returns a type_list of the declared base types of the type. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_base_types (TypeDescriptor t) noexcept |
| Returns a type_list of the declared and inherited base types of the type. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_declared_members (TypeDescriptor t) noexcept |
| Returns a type_list of the declared members of the type. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_members (TypeDescriptor t) noexcept |
| Returns a type_list of the declared and inherited members of the type. More...
|
|
template<typename MemberDescriptor > |
constexpr auto | refl::descriptor::get_declarator (MemberDescriptor d) noexcept |
| Returns the type_descriptor of declaring type of the member. More...
|
|
template<typename MemberDescriptor > |
constexpr auto | refl::descriptor::get_pointer (MemberDescriptor d) noexcept |
| Returns a pointer to the reflected field/function. More...
|
|
template<typename MemberDescriptor , typename... Args> |
constexpr auto | refl::descriptor::invoke (MemberDescriptor d, Args &&... args) noexcept -> decltype(d(std::forward< Args >(args)...)) |
| Invokes the member with the specified arguments. More...
|
|
template<typename FieldDescriptor > |
constexpr auto | refl::descriptor::is_static (FieldDescriptor d) noexcept |
| Checks whether the field is declared as static. More...
|
|
template<typename FieldDescriptor > |
constexpr auto | refl::descriptor::is_const (FieldDescriptor d) noexcept |
| Checks whether the value type of the field is const-qualified. More...
|
|
template<typename FunctionDescriptor > |
constexpr auto | refl::descriptor::is_resolved (FunctionDescriptor d) noexcept |
| Checks whether the function pointer was automatically resolved. More...
|
|
template<typename Pointer , typename FunctionDescriptor > |
constexpr auto | refl::descriptor::can_resolve (FunctionDescriptor d) noexcept |
| Checks whether the function pointer can be resolved as a pointer of the specified type. More...
|
|
template<typename Pointer , typename FunctionDescriptor > |
constexpr auto | refl::descriptor::resolve (FunctionDescriptor d) noexcept |
| Resolves the function pointer as a pointer of the specified type. More...
|
|
template<typename Descriptor > |
constexpr bool | refl::descriptor::is_field (Descriptor) noexcept |
| Checks whether T is a field descriptor. More...
|
|
template<typename Descriptor > |
constexpr bool | refl::descriptor::is_function (Descriptor) noexcept |
| Checks whether T is a function descriptor. More...
|
|
template<typename Descriptor > |
constexpr bool | refl::descriptor::is_type (Descriptor) noexcept |
| Checks whether T is a type descriptor. More...
|
|
template<typename A , typename Descriptor > |
constexpr bool | refl::descriptor::has_attribute (Descriptor) noexcept |
| Checks whether T has an attribute of type A. More...
|
|
template<typename A , typename Descriptor > |
constexpr const A & | refl::descriptor::get_attribute (Descriptor d) noexcept |
| Returns the value of the attribute A on T. More...
|
|
template<template< typename... > typename A, typename Descriptor > |
constexpr const auto & | refl::descriptor::get_attribute (Descriptor d) noexcept |
| Returns the value of the attribute A on T. More...
|
|
template<typename MemberDescriptor > |
constexpr bool | refl::descriptor::is_property (MemberDescriptor d) noexcept |
| Checks whether T is a member descriptor marked with the property attribute. More...
|
|
template<typename FunctionDescriptor > |
constexpr attr::property | refl::descriptor::get_property (FunctionDescriptor d) noexcept |
| Gets the property attribute. More...
|
|
template<typename MemberDescriptor > |
constexpr bool | refl::descriptor::is_readable (MemberDescriptor) noexcept |
| Checks if T is a 0-arg const-qualified member function with a property attribute or a field. More...
|
|
template<typename MemberDescriptor > |
constexpr bool | refl::descriptor::is_writable (MemberDescriptor) noexcept |
| Checks if T is a 1-arg non-const-qualified member function with a property attribute or a non-const field. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::has_bases (TypeDescriptor t) noexcept |
| Checks if a type has a bases attribute. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_bases (TypeDescriptor t) noexcept |
| Returns a list of the type_descriptor<T>s of the base types of the target, as specified by the bases<A, B, ...> attribute. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | refl::descriptor::get_simple_name (TypeDescriptor t) |
| Returns the unqualified name of the type, discarding the namespace and typenames (if a template type). More...
|
|
template<typename MemberDescriptor > |
constexpr auto | refl::descriptor::get_debug_name_const (MemberDescriptor d) |
| Returns the debug name of T (In the form of 'declaring_type::member_name') as a const_string. More...
|
|
template<typename MemberDescriptor > |
const char * | refl::descriptor::get_debug_name (MemberDescriptor d) |
| Returns the debug name of T. More...
|
|
template<typename Descriptor > |
const char * | refl::descriptor::get_display_name (Descriptor d) noexcept |
| Returns the display name of T. More...
|
|
template<typename Descriptor > |
constexpr auto | refl::descriptor::get_display_name_const (Descriptor d) noexcept |
| Returns the display name of T as a const_string<N>. More...
|
|
template<typename ReadableMember > |
constexpr bool | refl::descriptor::has_writer (ReadableMember member) |
| Checks if there exists a member that has the same display name as the one provied and is writable. More...
|
|
template<typename WritableMember > |
constexpr bool | refl::descriptor::has_reader (WritableMember member) |
| Checks if there exists a member that has the same display name as the one provied and is readable. More...
|
|
template<typename ReadableMember > |
constexpr auto | refl::descriptor::get_writer (ReadableMember member) |
| Returns a member that has the same display name as the one provied and is writable. More...
|
|
template<typename WritableMember > |
constexpr auto | refl::descriptor::get_reader (WritableMember member) |
| Returns a member that has the same display name as the one provied and is readable. More...
|
|
template<typename T > |
constexpr bool | refl::is_reflectable () noexcept |
| Returns true if the type T is reflectable. More...
|
|
template<typename T > |
constexpr bool | refl::is_reflectable (const T &) noexcept |
| Returns true if the non-qualified type T is reflectable. More...
|
|
template<typename T > |
constexpr type_descriptor< T > | refl::reflect () noexcept |
| Returns the type descriptor for the type T. More...
|
|
template<typename T > |
constexpr type_descriptor< T > | refl::reflect (const T &) noexcept |
| Returns the type descriptor for the non-qualified type T. More...
|
|
template<typename CharT , typename T > |
void | refl::runtime::debug (std::basic_ostream< CharT > &os, const T &value, bool compact=false) |
|
template<typename CharT , typename T > |
void | refl::runtime::debug (std::basic_ostream< CharT > &os, const T &value, [[maybe_unused]] bool compact) |
| Writes the debug representation of value to the given std::ostream. More...
|
|
template<typename CharT , typename... Ts> |
void | refl::runtime::debug_all (std::basic_ostream< CharT > &os, const Ts &... values) |
| Writes the compact debug representation of the provided values to the given std::ostream. More...
|
|
template<typename CharT = char, typename T > |
std::basic_string< CharT > | refl::runtime::debug_str (const T &value, bool compact=false) |
| Writes the debug representation of the provided value to an std::string and returns it. More...
|
|
template<typename CharT = char, typename... Ts> |
std::basic_string< CharT > | refl::runtime::debug_all_str (const Ts &... values) |
| Writes the compact debug representation of the provided values to an std::string and returns it. More...
|
|
template<typename U , typename T , typename... Args> |
U | refl::runtime::invoke (T &&target, const char *name, Args &&... args) |
| Invokes the specified member with the provided arguments. More...
|
|