|
| | Pointer (const Box &other) |
| |
| | Pointer (Box &&other) noexcept |
| |
| | Pointer (const Pointer &)=default |
| |
| Pointer & | operator= (const Pointer &)=default |
| |
| | Pointer (Pointer &&) noexcept=default |
| |
| Pointer & | operator= (Pointer &&) noexcept=default |
| |
| Box | get () const |
| | Returns the dereferenced value of the pointer.
|
| |
| Box | operator* () const |
| | Returns the dereferenced value of the pointer.
|
| |
| Box | operator-> () const |
| | Returns the dereferenced value of the pointer.
|
| |
| | Box () noexcept |
| | Creates a new variant holding an empty value.
|
| |
| | Box (const Box &other) |
| | Creates a new variant by copying another, if possible.
|
| |
| | Box (Box &&other) noexcept |
| | Creates a new variant by moving another, if possible.
|
| |
template<typename T >
requires (!std::is_same_v<std::decay_t<T>, Box>) |
| | Box (T &&value) |
| | Creates a new variant from a C++ value.
|
| |
template<typename T >
requires (!std::is_same_v<T, Box>) |
| | Box (std::reference_wrapper< T > value) |
| | Creates a new variant from a C++ value.
|
| |
template<typename T , typename... Args>
requires (!std::is_same_v<T, Box>) |
| | Box (std::in_place_type_t< T >, Args &&... args) |
| |
| | Box (const void *ptr, const TypeInfo *typeInfo) |
| |
| | Box () noexcept |
| | Creates a new variant holding an empty value.
|
| |
| | Box (const Box &other) |
| | Creates a new variant by copying another, if possible.
|
| |
| Box & | operator= (const Box &other) |
| | Assigns a variant a new value by copying another, if possible.
|
| |
| | Box (Box &&other) noexcept |
| | Creates a new variant by moving another, if possible.
|
| |
| Box & | operator= (Box &&other) noexcept |
| | Assigns a variant a new value by moving another, if possible.
|
| |
template<typename T >
requires (!std::is_same_v<std::decay_t<T>, Box>) |
| | Box (T &&value) |
| | Creates a new variant from a C++ value.
|
| |
template<typename T >
requires (!std::is_same_v<std::decay_t<T>, Box>) |
| Box & | operator= (T &&value) |
| | Assigns the variant a new value a C++ value.
|
| |
template<typename T >
requires (!std::is_same_v<T, Box>) |
| | Box (std::reference_wrapper< T > value) |
| | Creates a new variant from a C++ value.
|
| |
template<typename T , typename... Args>
requires (!std::is_same_v<T, Box>) |
| | Box (std::in_place_type_t< T >, Args &&... args) |
| |
| | Box (const void *ptr, const TypeInfo *typeInfo) |
| |
| | ~Box () noexcept |
| | Destroys the variant. Will call the contained object destructor.
|
| |
| bool | isSmall () const noexcept |
| | Determines if the value fits on the small buffer storage.
|
| |
| void | clear () noexcept |
| | Clears the variant and makes it empty.
|
| |
| bool | empty () const noexcept |
| | Checks if the variant is empty (i.e. holds no value).
|
| |
| | operator bool () const noexcept |
| | Checks if the variant is not empty (i.e. holds a value).
|
| |
| template<typename T > |
| bool | eq (const T &value) const |
| | Checks if a variant holds the same value as another.
|
| |
| template<typename T > |
| bool | neq (const T &value) const |
| | Checks if a variant holds the same value as another.
|
| |
| TypeID | getTypeID () const noexcept |
| | Gets the ID of the type held by the variant.
|
| |
| Type | getType () const noexcept |
| | Gets the type held by the variant.
|
| |
| Type | getClassType () const noexcept |
| | Gets the type held by the variant.
|
| |
| const Class * | getClass () const noexcept |
| |
| const Enum * | getMetaEnum () const noexcept |
| |
| template<typename T > |
| bool | is () const |
| | Checks if the value held by the variant is T.
|
| |
| bool | is (const Type &type) const |
| |
| Box | copy () const |
| | Makes a copy of the object.
|
| |
| Box | ref () const & |
| | Gets a reference to the meta value.
|
| |
| Box | cref () const & |
| | Gets a reference to the meta value.
|
| |
| Box | rref () && |
| | Gets a reference to the meta value.
|
| |
| Box | ref () && |
| | Gets a reference to the meta value.
|
| |
| template<typename T > |
| T & | ref () const & |
| | Gets the value of the variant as a reference to T.
|
| |
| template<> |
| Box & | ref () const & |
| |
| template<typename T > |
| T && | ref () && |
| | Gets the value of the variant as a reference to T.
|
| |
| template<> |
| Box && | ref () && |
| |
| template<typename T > |
| const T & | cref () const |
| | Gets the value of the variant as a const reference to T.
|
| |
| template<> |
| const Box & | cref () const |
| |
| template<typename T > |
| T && | rref () && |
| | Gets the value of the variant as a r-value reference to T.
|
| |
| template<> |
| Box && | rref () && |
| |
| void * | data () noexcept |
| | Returns pointer to decayed type.
|
| |
| const void * | data () const noexcept |
| | Returns pointer to decayed type.
|
| |
| template<typename T > |
| T * | data () const |
| | Gets the value of the variant as a pointer to const T.
|
| |
| template<typename T > |
| bool | canConvert () const |
| | Checks if the value held by the variant is convertible to T.
|
| |
| bool | canConvert (const TypeID &target) const |
| | Checks if the value held by the variant is convertible to T.
|
| |
| bool | canConvert (const Type &target) const |
| | Checks if the value held by the variant is convertible to T.
|
| |
| bool | canConvert (const TypeInfo &target) const |
| | Checks if the value held by the variant is convertible to T.
|
| |
| template<typename T > |
| T | to () const & |
| | Gets the value of the variant as a T.
|
| |
| template<> |
| Box | to () const & |
| |
| Box | to (const TypeID &target) const |
| | Gets the value of the variant as a T.
|
| |
| Box | to (const Type &target) const |
| | Gets the value of the variant as a T.
|
| |
| Box | to (const TypeInfo &target) const |
| | Gets the value of the variant as a T.
|
| |
| template<typename T > |
| void | convert () |
| | Converts the variant to type T.
|
| |
| template<typename T > |
| bool | tryConvert () |
| | Tries to convert the variant to type T.
|
| |
| Iterable | asIterable () const & |
| | Views the Box as an Iterable type.
|
| |
| Iterable | asIterable () && |
| |
| Iterator | asIterator () const & |
| | Views the Box as an Iterator type.
|
| |
| Iterator | asIterator () && |
| |
| Array | asArray () const & |
| | Views the Box as an Array type.
|
| |
| Array | asArray () && |
| |
| Map | asMap () const & |
| | Views the Box as an Map type.
|
| |
| Map | asMap () && |
| |
| Pointer | asPointer () const & |
| | Views the Box as an Pointer type.
|
| |
| Pointer | asPointer () && |
| |