class final
#include <core/memory/any_vector.hpp>
AnyVector Stores a dynamically sized array of blobs of a given reflected type.
Constructors, destructors, conversion operators
Public functions
-
auto elementType() const -> const reflection::
Type& - Get the type of the elements stored in the vector.
- void reserve(std::size_t capacity)
- Reserves space for at least
capacity
elements. - void insertUninit(std::size_t index)
- Inserts an uninitialized element at the given index.
- void insertDefault(std::size_t index)
- Inserts a default-constructed element at the given index.
- void insertCopy(std::size_t index, const void* value)
- Inserts a copy-constructed element at the given index.
- void insertMove(std::size_t index, void* value)
- Inserts a move-constructed element at the given index.
- void pushUninit()
- Pushes an uninitialized element to the back of the vector.
- void pushDefault()
- Pushes a new default-constructed element to the back of the vector.
- void pushCopy(const void* value)
- Pushes a new copy-constructed element to the back of the vector.
- void pushMove(void* value)
- Pushes a new move-constructed element to the back of the vector.
- void setDefault(std::size_t index)
- Overwrites the element at the given index with a new default-constructed element.
- void setCopy(std::size_t index, const void* value)
- Overwrites the element at the given index with a new copy-constructed element.
- void setMove(std::size_t index, void* value)
- Overwrites the element at the given index with a new move-constructed element.
- void pop()
- Removes the last element from the vector.
- void erase(std::size_t index)
- Removes the element at the given index from the vector.
- void swapErase(std::size_t index)
- Removes the element at the given index from the vector, moving the last element to its place if it isn't the last element.
- void swapMove(std::size_t index, void* destination)
- Moves the element at the given index from the vector into the given address, moving the last element to its place if it isn't the last element.
- void clear()
- Removes all elements from the vector.
- auto at(std::size_t index) -> void*
- Get the element at the given index.
- auto at(std::size_t index) const -> const void*
- Get the element at the given index.
- auto size() const -> std::size_t
- Get the number of elements in the vector.
- auto capacity() const -> std::size_t
- Get the number of elements the vector can hold without reallocating.
- auto empty() const -> bool
- Checks if the vector is empty.
Function documentation
cubos:: core:: memory:: AnyVector:: AnyVector(const reflection:: Type& elementType)
Constructs with the given element type.
Parameters | |
---|---|
elementType | Element type. |
const reflection:: Type& cubos:: core:: memory:: AnyVector:: elementType() const
Get the type of the elements stored in the vector.
Returns | Element type. |
---|
void cubos:: core:: memory:: AnyVector:: reserve(std::size_t capacity)
Reserves space for at least capacity
elements.
Parameters | |
---|---|
capacity | Minimum capacity. |
void cubos:: core:: memory:: AnyVector:: insertUninit(std::size_t index)
Inserts an uninitialized element at the given index.
Parameters | |
---|---|
index | Element index. |
void cubos:: core:: memory:: AnyVector:: insertDefault(std::size_t index)
Inserts a default-constructed element at the given index.
Parameters | |
---|---|
index | Element index. |
void cubos:: core:: memory:: AnyVector:: insertCopy(std::size_t index,
const void* value)
Inserts a copy-constructed element at the given index.
Parameters | |
---|---|
index | Element index. |
value | Element to copy. |
void cubos:: core:: memory:: AnyVector:: insertMove(std::size_t index,
void* value)
Inserts a move-constructed element at the given index.
Parameters | |
---|---|
index | Element index. |
value | Element to move. |
void cubos:: core:: memory:: AnyVector:: pushUninit()
Pushes an uninitialized element to the back of the vector.
void cubos:: core:: memory:: AnyVector:: pushDefault()
Pushes a new default-constructed element to the back of the vector.
void cubos:: core:: memory:: AnyVector:: pushCopy(const void* value)
Pushes a new copy-constructed element to the back of the vector.
Parameters | |
---|---|
value | Element to copy. |
void cubos:: core:: memory:: AnyVector:: pushMove(void* value)
Pushes a new move-constructed element to the back of the vector.
Parameters | |
---|---|
value | Element to move. |
void cubos:: core:: memory:: AnyVector:: setDefault(std::size_t index)
Overwrites the element at the given index with a new default-constructed element.
Parameters | |
---|---|
index | Element index. |
void cubos:: core:: memory:: AnyVector:: setCopy(std::size_t index,
const void* value)
Overwrites the element at the given index with a new copy-constructed element.
Parameters | |
---|---|
index | Element index. |
value | Element to copy. |
void cubos:: core:: memory:: AnyVector:: setMove(std::size_t index,
void* value)
Overwrites the element at the given index with a new move-constructed element.
Parameters | |
---|---|
index | Element index. |
value | Element to move. |
void cubos:: core:: memory:: AnyVector:: pop()
Removes the last element from the vector.
void cubos:: core:: memory:: AnyVector:: erase(std::size_t index)
Removes the element at the given index from the vector.
Parameters | |
---|---|
index | Element index. |
Prefer using swapErase() if the order of elements doesn't matter, as it is more efficient.
void cubos:: core:: memory:: AnyVector:: swapErase(std::size_t index)
Removes the element at the given index from the vector, moving the last element to its place if it isn't the last element.
Parameters | |
---|---|
index | Element index. |
void cubos:: core:: memory:: AnyVector:: swapMove(std::size_t index,
void* destination)
Moves the element at the given index from the vector into the given address, moving the last element to its place if it isn't the last element.
Parameters | |
---|---|
index | Element index. |
destination | Address to move the element to. |
void* cubos:: core:: memory:: AnyVector:: at(std::size_t index)
Get the element at the given index.
Parameters | |
---|---|
index | Index of the element to get. |
Returns | Pointer to the element. |
const void* cubos:: core:: memory:: AnyVector:: at(std::size_t index) const
Get the element at the given index.
Parameters | |
---|---|
index | Index of the element to get. |
Returns | Pointer to the element. |
std::size_t cubos:: core:: memory:: AnyVector:: size() const
Get the number of elements in the vector.
Returns | Element count. |
---|
std::size_t cubos:: core:: memory:: AnyVector:: capacity() const
Get the number of elements the vector can hold without reallocating.
Returns | Element capacity. |
---|
bool cubos:: core:: memory:: AnyVector:: empty() const
Checks if the vector is empty.
Returns | Whether the vector is empty. |
---|