|
| meta_any ()=default |
|
| meta_any (meta_ctx_arg_t, const meta_ctx &area) |
| Context aware constructor.
|
|
template<typename Type , typename... Args> |
| meta_any (std::in_place_type_t< Type >, Args &&...args) |
| Constructs a wrapper by directly initializing the new object.
|
|
template<typename Type , typename... Args> |
| meta_any (const meta_ctx &area, std::in_place_type_t< Type >, Args &&...args) |
| Constructs a wrapper by directly initializing the new object.
|
|
template<typename Type , typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>> |
| meta_any (Type &&value) |
| Constructs a wrapper from a given value.
|
|
template<typename Type , typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>> |
| meta_any (const meta_ctx &area, Type &&value) |
| Constructs a wrapper from a given value.
|
|
| meta_any (const meta_ctx &area, const meta_any &other) |
| Context aware copy constructor.
|
|
| meta_any (const meta_ctx &area, meta_any &&other) |
| Context aware move constructor.
|
|
| meta_any (const meta_any &other)=default |
| Copy constructor.
|
|
| meta_any (meta_any &&other) noexcept |
| Move constructor.
|
|
| ~meta_any () |
| Frees the internal storage, whatever it means.
|
|
meta_any & | operator= (const meta_any &other) |
| Copy assignment operator.
|
|
meta_any & | operator= (meta_any &&other) noexcept |
| Move assignment operator.
|
|
template<typename Type , typename = std::enable_if_t<!std::is_same_v<std::decay_t<Type>, meta_any>>> |
meta_any & | operator= (Type &&value) |
| Value assignment operator.
|
|
meta_type | type () const noexcept |
| Returns the object type if any, type_id<void>() otherwise.
|
|
const void * | data () const noexcept |
| Returns an opaque pointer to the contained instance.
|
|
void * | data () noexcept |
| Returns an opaque pointer to the contained instance.
|
|
template<typename... Args> |
meta_any | invoke (id_type id, Args &&...args) const |
| Invokes the underlying function, if possible.
|
|
template<typename... Args> |
meta_any | invoke (id_type id, Args &&...args) |
| Invokes the underlying function, if possible.
|
|
template<typename Type > |
bool | set (id_type id, Type &&value) |
| Sets the value of a given variable.
|
|
meta_any | get (id_type id) const |
| Gets the value of a given variable.
|
|
meta_any | get (id_type id) |
| Gets the value of a given variable.
|
|
template<typename Type > |
const Type * | try_cast () const |
| Tries to cast an instance to a given type.
|
|
template<typename Type > |
Type * | try_cast () |
| Tries to cast an instance to a given type.
|
|
template<typename Type > |
std::remove_const_t< Type > | cast () const |
| Tries to cast an instance to a given type.
|
|
template<typename Type > |
std::remove_const_t< Type > | cast () |
| Tries to cast an instance to a given type.
|
|
meta_any | allow_cast (const meta_type &type) const |
| Converts an object in such a way that a given cast becomes viable.
|
|
bool | allow_cast (const meta_type &type) |
| Converts an object in such a way that a given cast becomes viable.
|
|
template<typename Type > |
meta_any | allow_cast () const |
| Converts an object in such a way that a given cast becomes viable.
|
|
template<typename Type > |
bool | allow_cast () |
| Converts an object in such a way that a given cast becomes viable.
|
|
template<typename Type , typename... Args> |
void | emplace (Args &&...args) |
| Replaces the contained object by creating a new instance directly.
|
|
bool | assign (const meta_any &other) |
| Assigns a value to the contained object without replacing it.
|
|
bool | assign (meta_any &&other) |
| Assigns a value to the contained object without replacing it.
|
|
void | reset () |
| Destroys contained object.
|
|
meta_sequence_container | as_sequence_container () noexcept |
| Returns a sequence container proxy.
|
|
meta_sequence_container | as_sequence_container () const noexcept |
| Returns a sequence container proxy.
|
|
meta_associative_container | as_associative_container () noexcept |
| Returns an associative container proxy.
|
|
meta_associative_container | as_associative_container () const noexcept |
| Returns an associative container proxy.
|
|
meta_any | operator* () const noexcept |
| Indirection operator for dereferencing opaque objects.
|
|
| operator bool () const noexcept |
| Returns false if a wrapper is invalid, true otherwise.
|
|
bool | operator== (const meta_any &other) const noexcept |
| Checks if two wrappers differ in their content.
|
|
bool | operator!= (const meta_any &other) const noexcept |
| Checks if two wrappers differ in their content.
|
|
meta_any | as_ref () noexcept |
| Aliasing constructor.
|
|
meta_any | as_ref () const noexcept |
| Aliasing constructor.
|
|
meta_any_policy | policy () const noexcept |
| Returns the current mode of a meta any object.
|
|
Opaque wrapper for values of any type.
Definition at line 179 of file meta.hpp.