|
| meta_type () noexcept=default |
| Default constructor.
|
|
| meta_type (const meta_ctx &area, internal::meta_type_node curr) noexcept |
| Context aware constructor for meta objects.
|
|
| meta_type (const meta_ctx &area, const internal::meta_base_node &curr) noexcept |
| Context aware constructor for meta objects.
|
|
const type_info & | info () const noexcept |
| Returns the type info object of the underlying type.
|
|
id_type | id () const noexcept |
| Returns the identifier assigned to a type.
|
|
size_type | size_of () const noexcept |
| Returns the size of the underlying type if known.
|
|
bool | is_arithmetic () const noexcept |
| Checks whether a type refers to an arithmetic type or not.
|
|
bool | is_integral () const noexcept |
| Checks whether a type refers to an integral type or not.
|
|
bool | is_signed () const noexcept |
| Checks whether a type refers to a signed type or not.
|
|
bool | is_array () const noexcept |
| Checks whether a type refers to an array type or not.
|
|
bool | is_enum () const noexcept |
| Checks whether a type refers to an enum or not.
|
|
bool | is_class () const noexcept |
| Checks whether a type refers to a class or not.
|
|
bool | is_pointer () const noexcept |
| Checks whether a type refers to a pointer or not.
|
|
meta_type | remove_pointer () const noexcept |
| Provides the type for which the pointer is defined.
|
|
bool | is_pointer_like () const noexcept |
| Checks whether a type is a pointer-like type or not.
|
|
bool | is_sequence_container () const noexcept |
| Checks whether a type refers to a sequence container or not.
|
|
bool | is_associative_container () const noexcept |
| Checks whether a type refers to an associative container or not.
|
|
bool | is_template_specialization () const noexcept |
| Checks whether a type refers to a recognized class template specialization or not.
|
|
size_type | template_arity () const noexcept |
| Returns the number of template arguments.
|
|
meta_type | template_type () const noexcept |
| Returns a tag for the class template of the underlying type.
|
|
meta_type | template_arg (const size_type index) const noexcept |
| Returns the type of the i-th template argument of a type.
|
|
bool | can_cast (const meta_type &other) const noexcept |
| Checks if a type supports direct casting to another type.
|
|
bool | can_convert (const meta_type &other) const noexcept |
| Checks if a type supports conversion it to another type.
|
|
meta_range< meta_type, typename decltype(internal::meta_type_descriptor::base)::const_iterator > | base () const noexcept |
| Returns a range to visit registered top-level base meta types.
|
|
meta_range< meta_data, typename decltype(internal::meta_type_descriptor::data)::const_iterator > | data () const noexcept |
| Returns a range to visit registered top-level meta data.
|
|
meta_data | data (const id_type id) const |
| Lookup utility for meta data (bases are also visited).
|
|
meta_range< meta_func, typename decltype(internal::meta_type_descriptor::func)::const_iterator > | func () const noexcept |
| Returns a range to visit registered top-level functions.
|
|
meta_func | func (const id_type id) const |
| Lookup utility for meta functions (bases are also visited).
|
|
meta_any | construct (meta_any *const args, const size_type sz) const |
| Creates an instance of the underlying type, if possible.
|
|
template<typename... Args> |
meta_any | construct (Args &&...args) const |
| Creates an instance of the underlying type, if possible.
|
|
meta_any | from_void (void *elem) const |
| Wraps an opaque element of the underlying type.
|
|
meta_any | from_void (const void *elem) const |
| Wraps an opaque element of the underlying type.
|
|
meta_any | invoke (const id_type id, meta_handle instance, meta_any *const args, const size_type sz) const |
| Invokes a function given an identifier, if possible.
|
|
template<typename... Args> |
meta_any | invoke (const id_type id, meta_handle instance, Args &&...args) const |
| Invokes a function given an identifier, if possible.
|
|
template<typename Type > |
bool | set (const id_type id, meta_handle instance, Type &&value) const |
| Sets the value of a given variable.
|
|
meta_any | get (const id_type id, meta_handle instance) const |
| Gets the value of a given variable.
|
|
meta_range< meta_prop, typename decltype(internal::meta_type_descriptor::prop)::const_iterator > | prop () const noexcept |
| Returns a range to visit registered top-level meta properties.
|
|
meta_prop | prop (const id_type key) const |
| Lookup utility for meta properties (bases are also visited).
|
|
template<typename Type > |
Type | traits () const noexcept |
| Returns all meta traits for a given meta object.
|
|
meta_custom | custom () const noexcept |
| Returns user defined data for a given meta object.
|
|
| operator bool () const noexcept |
| Returns true if an object is valid, false otherwise.
|
|
bool | operator== (const meta_type &other) const noexcept |
| Checks if two objects refer to the same type.
|
|
Opaque wrapper for types.
Definition at line 1153 of file meta.hpp.