|
| type () noexcept |
| Default constructor.
|
|
bool | is_void () const noexcept |
| Indicates whether a given meta type refers to void or not. More...
|
|
bool | is_integral () const noexcept |
| Indicates whether a given meta type refers to an integral type or not. More...
|
|
bool | is_floating_point () const noexcept |
| Indicates whether a given meta type refers to a floating-point type or not. More...
|
|
bool | is_array () const noexcept |
| Indicates whether a given meta type refers to an array type or not. More...
|
|
bool | is_enum () const noexcept |
| Indicates whether a given meta type refers to an enum or not. More...
|
|
bool | is_union () const noexcept |
| Indicates whether a given meta type refers to an union or not. More...
|
|
bool | is_class () const noexcept |
| Indicates whether a given meta type refers to a class or not. More...
|
|
bool | is_pointer () const noexcept |
| Indicates whether a given meta type refers to a pointer or not. More...
|
|
bool | is_function_pointer () const noexcept |
| Indicates whether a given meta type refers to a function pointer or not. More...
|
|
bool | is_member_object_pointer () const noexcept |
| Indicates whether a given meta type refers to a pointer to data member or not. More...
|
|
bool | is_member_function_pointer () const noexcept |
| Indicates whether a given meta type refers to a pointer to member function or not. More...
|
|
size_type | extent () const noexcept |
| If a given meta type refers to an array type, provides the number of elements of the array. More...
|
|
meta::type | remove_pointer () const noexcept |
| Provides the meta type for which the pointer is defined. More...
|
|
template<typename Op > |
std::enable_if_t< std::is_invocable_v< Op, meta::base >, void > | base (Op op) const noexcept |
| Iterates all the meta base of a meta type. More...
|
|
meta::base | base (const std::size_t identifier) const noexcept |
| Returns the meta base associated with a given identifier. More...
|
|
template<typename Op > |
void | conv (Op op) const noexcept |
| Iterates all the meta conversion functions of a meta type. More...
|
|
template<typename Type > |
meta::conv | conv () const noexcept |
| Returns the meta conversion function associated with a given type. More...
|
|
template<typename Op > |
void | ctor (Op op) const noexcept |
| Iterates all the meta constructors of a meta type. More...
|
|
template<typename... Args> |
meta::ctor | ctor () const noexcept |
| Returns the meta constructor that accepts a given list of types of arguments. More...
|
|
meta::dtor | dtor () const noexcept |
| Returns the meta destructor associated with a given type. More...
|
|
template<typename Op > |
std::enable_if_t< std::is_invocable_v< Op, meta::data >, void > | data (Op op) const noexcept |
| Iterates all the meta data of a meta type. More...
|
|
meta::data | data (const std::size_t identifier) const noexcept |
| Returns the meta data associated with a given identifier. More...
|
|
template<typename Op > |
std::enable_if_t< std::is_invocable_v< Op, meta::func >, void > | func (Op op) const noexcept |
| Iterates all the meta functions of a meta type. More...
|
|
meta::func | func (const std::size_t identifier) const noexcept |
| Returns the meta function associated with a given identifier. More...
|
|
template<typename... Args> |
any | construct (Args &&... args) const |
| Creates an instance of the underlying type, if possible. More...
|
|
bool | destroy (handle handle) const |
| Destroys an instance of the underlying type. More...
|
|
template<typename Op > |
std::enable_if_t< std::is_invocable_v< Op, meta::prop >, void > | prop (Op op) const noexcept |
| Iterates all the properties assigned to a meta type. More...
|
|
template<typename Key > |
std::enable_if_t<!std::is_invocable_v< Key, meta::prop >, meta::prop > | prop (Key &&key) const noexcept |
| Returns the property associated with a given key. More...
|
|
| operator bool () const noexcept |
| Returns true if a meta object is valid, false otherwise. More...
|
|
bool | operator== (const type &other) const noexcept |
| Checks if two meta objects refer to the same node. More...
|
|
Meta type object.
A meta type is the starting point for accessing a reflected type, thus being able to work through it on real objects.
Definition at line 1524 of file meta.hpp.