|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/Reflection/Box.collection.hpp>
Public Member Functions | |
| Array (const Box &other) | |
| Array (Box &&other) noexcept | |
| Array (const Array &)=default | |
| Array & | operator= (const Array &)=default |
| Array (Array &&) noexcept=default | |
| Array & | operator= (Array &&) noexcept=default |
| TypeID | getElementTypeID () const |
| Gets the type ID of the array element type. | |
| Type | getElementType () const |
| Get tge type of the array element type. | |
| Box | operator[] (size_t position) const |
| Box | at (size_t position) const |
| Box | back () const |
| Box | front () const |
| 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 | resize (size_t count) const |
Resizes the container to contain count elements, does nothing if count == size(). | |
| void | resize (size_t count, const Box &value) const |
Resizes the container to contain count elements, does nothing if count == size(). | |
| void | clear () const |
| Erases all elements from the container. | |
| Box | capacity () const |
| Returns the number of elements that the container has currently allocated space for. | |
| void | reserve (size_t n) const |
Increase the capacity of the container (the total number of elements that the vector can hold without requiring reallocation) to a value that's greater or equal to newCapacity. | |
| Iterator | insert (const Iterator &position, Box &&value) const |
| Inserts elements at the specified location in the container. | |
| Iterator | insert (const Iterator &position, const Box &value) const |
| Iterator | insert (const Iterator &position, const Iterator &first, const Iterator &last) const |
| Inserts elements at the specified location in the container. | |
| Iterator | erase (const Iterator &position) const |
| Erases the specified elements from the container. | |
| void | pushBack (Box &&value) const |
| Appends the given element value to the end of the container. | |
| void | pushBack (const Box &value) const |
| void | popBack () const |
| Removes the last element of the container. | |
| void | pushFront (Box &&value) const |
| Appends the given element value to the front of the container. | |
| void | pushFront (const Box &value) const |
| void | popFront () const |
| Removes the first element of the container. | |
| 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 |
| Box CeresEngine::Box::Array::back | ( | ) | const |
| Iterator CeresEngine::Box::Array::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.
| Box CeresEngine::Box::Array::capacity | ( | ) | const |
Returns the number of elements that the container has currently allocated space for.
| Iterator CeresEngine::Box::Array::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::Array::cend | ( | ) | const |
| void CeresEngine::Box::Array::clear | ( | ) | const |
Erases all elements from the container.
After this call, size() returns zero.
Invalidates any references, pointers, or iterators referring to contained elements. Any past-the-end iterators are also invalidated.
Leaves the capacity() (if supported) unchanged.
| Box CeresEngine::Box::Array::empty | ( | ) | const |
| Iterator CeresEngine::Box::Array::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. |
| Box CeresEngine::Box::Array::front | ( | ) | const |
|
inline |
Get tge type of the array element type.
| TypeID CeresEngine::Box::Array::getElementTypeID | ( | ) | const |
Gets the type ID of the array element type.
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. |
| Iterator CeresEngine::Box::Array::insert | ( | const Iterator & | position, |
| const Iterator & | first, | ||
| const Iterator & | last | ||
| ) | const |
Inserts elements at the specified location in the container.
Inserts elements from range [first, last) before position.
| position | The iterator before which the content will be inserted (position may be the end() iterator). |
| first | The first element value to insert. |
| last | The last element value to insert. |
| void CeresEngine::Box::Array::popBack | ( | ) | const |
Removes the last element of the container.
Calling popBack on an empty container results in undefined behavior. Iterators and references to the last element, as well as the end() iterator, are invalidated.
| void CeresEngine::Box::Array::popFront | ( | ) | const |
Removes the first element of the container.
Calling popFront on an empty container results in undefined behavior. All Iterators and references are invalidated.
Appends the given element value to the end of the container.
The value is moved into the new element.
If the new size() is greater than capacity() then all iterators and references (including the end() iterator) are invalidated. Otherwise only the end() iterator is invalidated.
| value | The value of the element to append. |
Appends the given element value to the front of the container.
The value is moved into the new element.
All iterators and references (including the end() iterator) are invalidated.
| value | The value of the element to append. |
Increase the capacity of the container (the total number of elements that the vector can hold without requiring reallocation) to a value that's greater or equal to newCapacity.
If newCapacity is greater than the current capacity(), new storage is allocated, otherwise the function does nothing.
reserve() does not change the size of the container. If newCapacity is greater than capacity(), all iterators, including the end() iterator, and all references to the elements are invalidated. Otherwise, no iterators or references are invalidated.
After a call to reserve(), insertions will not trigger reallocation unless the insertion would make the size of the container greater than the value of capacity().
Resizes the container to contain count elements, does nothing if count == size().
If the current size is greater than count, the container is reduced to its first count elements.
If the current size is less than count, additional default-inserted elements are appended 2) additional copies of value are appended.
Resizes the container to contain count elements, does nothing if count == size().
If the current size is greater than count, the container is reduced to its first count elements.
If the current size is less than count, additional copies of value are appended.
| size_t CeresEngine::Box::Array::size | ( | ) | const |