|
| | meta_any () noexcept |
| |
| | meta_any (meta_ctx_arg_t, const meta_ctx &area) noexcept |
| | 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 > |
| 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 (const id_type id, Args &&...args) const |
| | Invokes the underlying function, if possible.
|
| |
| template<typename... Args> |
| meta_any | invoke (const id_type id, Args &&...args) |
| | Invokes the underlying function, if possible.
|
| |
| template<typename Type > |
| bool | set (const id_type id, Type &&value) |
| | Sets the value of a given variable.
|
| |
| meta_any | get (const id_type id) const |
| | Gets the value of a given variable.
|
| |
| meta_any | get (const 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 > |
| Type | cast () const |
| | Tries to cast an instance to a given type.
|
| |
| template<typename Type > |
| 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.
|
| |
| bool | owner () const noexcept |
| | Returns true if a wrapper owns its object, false otherwise.
|
| |
| 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 181 of file meta.hpp.