Contains the basic reflection primitives as well as functions operating on those primitives.
More...
|
template<typename Descriptor > |
constexpr auto | get_name (Descriptor d) noexcept |
| Returns the full name of the descriptor. More...
|
|
template<typename Descriptor > |
constexpr const auto & | get_attributes (Descriptor d) noexcept |
| Returns a const reference to the descriptor's attribute tuple. More...
|
|
template<typename Descriptor > |
constexpr auto | get_attribute_types (Descriptor d) noexcept |
| Returns a type_list of the descriptor's attribute types. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | 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 | 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 | get_declared_members (TypeDescriptor t) noexcept |
| Returns a type_list of the declared members of the type. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | get_members (TypeDescriptor t) noexcept |
| Returns a type_list of the declared and inherited members of the type. More...
|
|
template<typename MemberDescriptor > |
constexpr auto | get_declarator (MemberDescriptor d) noexcept |
| Returns the type_descriptor of declaring type of the member. More...
|
|
template<typename MemberDescriptor > |
constexpr auto | get_pointer (MemberDescriptor d) noexcept |
| Returns a pointer to the reflected field/function. More...
|
|
template<typename MemberDescriptor , typename... Args> |
constexpr auto | 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 | is_static (FieldDescriptor d) noexcept |
| Checks whether the field is declared as static. More...
|
|
template<typename FieldDescriptor > |
constexpr auto | is_const (FieldDescriptor d) noexcept |
| Checks whether the value type of the field is const-qualified. More...
|
|
template<typename FunctionDescriptor > |
constexpr auto | is_resolved (FunctionDescriptor d) noexcept |
| Checks whether the function pointer was automatically resolved. More...
|
|
template<typename Pointer , typename FunctionDescriptor > |
constexpr auto | 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 | resolve (FunctionDescriptor d) noexcept |
| Resolves the function pointer as a pointer of the specified type. More...
|
|
template<typename Descriptor > |
constexpr bool | is_field (Descriptor) noexcept |
| Checks whether T is a field descriptor. More...
|
|
template<typename Descriptor > |
constexpr bool | is_function (Descriptor) noexcept |
| Checks whether T is a function descriptor. More...
|
|
template<typename Descriptor > |
constexpr bool | is_type (Descriptor) noexcept |
| Checks whether T is a type descriptor. More...
|
|
template<typename A , typename Descriptor > |
constexpr bool | has_attribute (Descriptor) noexcept |
| Checks whether T has an attribute of type A. More...
|
|
template<typename A , typename Descriptor > |
constexpr const A & | 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 & | get_attribute (Descriptor d) noexcept |
| Returns the value of the attribute A on T. More...
|
|
template<typename MemberDescriptor > |
constexpr bool | is_property (MemberDescriptor d) noexcept |
| Checks whether T is a member descriptor marked with the property attribute. More...
|
|
template<typename FunctionDescriptor > |
constexpr attr::property | get_property (FunctionDescriptor d) noexcept |
| Gets the property attribute. More...
|
|
template<typename MemberDescriptor > |
constexpr bool | 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 | is_writable (const 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 | has_bases (TypeDescriptor t) noexcept |
| Checks if a type has a bases attribute. More...
|
|
template<typename TypeDescriptor > |
constexpr auto | 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 | 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 | 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 * | get_debug_name (MemberDescriptor d) |
| Returns the debug name of T. More...
|
|
template<typename Descriptor > |
const char * | get_display_name (Descriptor d) noexcept |
| Returns the display name of T. More...
|
|
Contains the basic reflection primitives as well as functions operating on those primitives.