|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/Reflection/Box.collection.hpp>
Public Member Functions | |
| Map (const Box &other) | |
| Map (Box &&other) noexcept | |
| Map (const Map &)=default | |
| Map & | operator= (const Map &)=default |
| Map (Map &&) noexcept=default | |
| Map & | operator= (Map &&) noexcept=default |
| Box | operator[] (Box &&key) const |
| Box | at (Box &&key) const |
Returns a reference to the element at specified location position. | |
| Box | empty () const |
| Checks if the container has no elements, i.e. | |
| size_t | size () const |
| Returns the number of elements in the container, i.e. | |
| void | clear () const |
| Erases all elements from the container. | |
| Iterator | insert (Box &&key, Box &&value) const |
| Inserts elements at the specified location in the container. | |
| Iterator | insert (Box &&key, const Box &value) const |
| Iterator | eraseIterator (const Iterator &position) const |
| Erases the specified elements from the container. | |
| Iterator | erase (Box &&key) const |
| Iterator | begin () const |
| Returns an iterator to the first element of the container. | |
| Iterator | cbegin () const |
| Returns an iterator to the first element of the container. | |
| Iterator | end () const |
| Returns an iterator to the element following the last element of the container. | |
| Iterator | cend () const |
| 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) | |
Public Member Functions inherited from CeresEngine::Box | |
| 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 () && |
Private Types | |
| using | super = Box |
Additional Inherited Members | |
Static Public Member Functions inherited from CeresEngine::Box | |
| template<typename T , typename... Args> | |
| static Box | create (Args &&... args) |
|
inlinenoexcept |
|
defaultnoexcept |
Returns a reference to the element at specified location position.
| Iterator CeresEngine::Box::Map::begin | ( | ) | const |
Returns an iterator to the first element of the container.
If the container is empty, the returned iterator will be equal to end().
|
noexcept |
Creates a new variant holding an empty value.
|
noexcept |
Creates a new variant by moving another, if possible.
|
explicit |
| CeresEngine::Box::Box | ( | std::reference_wrapper< T > | value | ) |
Creates a new variant from a C++ value.
| CeresEngine::Box::Box | ( | T && | value | ) |
Creates a new variant from a C++ value.
| Iterator CeresEngine::Box::Map::cbegin | ( | ) | const |
Returns an iterator to the first element of the container.
If the container is empty, the returned iterator will be equal to end().
| Iterator CeresEngine::Box::Map::cend | ( | ) | const |
| void CeresEngine::Box::Map::clear | ( | ) | const |
| Box CeresEngine::Box::Map::empty | ( | ) | const |
| Iterator CeresEngine::Box::Map::end | ( | ) | const |
Returns an iterator to the element following the last element of the container.
This element acts as a placeholder; attempting to access it results in undefined behavior.
Erases the specified elements from the container.
Removes the element at position.
Invalidates iterators and references at or after the point of the erase, including the end() iterator. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for position. The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.
| position | The iterator to the element to remove. |
Inserts elements at the specified location in the container.
Inserts value before position.
| position | The iterator before which the content will be inserted (position may be the end() iterator). |
| value | The element value to insert. |
| size_t CeresEngine::Box::Map::size | ( | ) | const |