Vector template class for POD types. Does not call constructors or destructors and uses block move. Is intentionally (for performance reasons) unsafe for self-insertion.
More...
|
| PODVector () noexcept=default |
| Construct empty.
|
|
| PODVector (unsigned size) |
| Construct with initial size.
|
|
| PODVector (unsigned size, const T &value) |
| Construct with initial size and default value.
|
|
| PODVector (const T *data, unsigned size) |
| Construct with initial data.
|
|
| PODVector (const PODVector< T > &vector) |
| Construct from another vector.
|
|
| PODVector (const std::initializer_list< T > &list) |
| Aggregate initialization constructor.
|
|
| ~PODVector () |
| Destruct.
|
|
PODVector< T > & | operator= (const PODVector< T > &rhs) |
| Assign from another vector.
|
|
PODVector< T > & | operator+= (const T &rhs) |
| Add-assign an element.
|
|
PODVector< T > & | operator+= (const PODVector< T > &rhs) |
| Add-assign another vector.
|
|
PODVector< T > | operator+ (const T &rhs) const |
| Add an element.
|
|
PODVector< T > | operator+ (const PODVector< T > &rhs) const |
| Add another vector.
|
|
bool | operator== (const PODVector< T > &rhs) const |
| Test for equality with another vector.
|
|
bool | operator!= (const PODVector< T > &rhs) const |
| Test for inequality with another vector.
|
|
T & | operator[] (unsigned index) |
| Return element at index.
|
|
const T & | operator[] (unsigned index) const |
| Return const element at index.
|
|
T & | At (unsigned index) |
| Return element at index.
|
|
const T & | At (unsigned index) const |
| Return const element at index.
|
|
void | Push (const T &value) |
| Add an element at the end.
|
|
void | Push (const PODVector< T > &vector) |
| Add another vector at the end.
|
|
void | Pop () |
| Remove the last element.
|
|
void | Insert (unsigned pos, const T &value) |
| Insert an element at position.
|
|
void | Insert (unsigned pos, const PODVector< T > &vector) |
| Insert another vector at position.
|
|
Iterator | Insert (const Iterator &dest, const T &value) |
| Insert an element by iterator.
|
|
Iterator | Insert (const Iterator &dest, const PODVector< T > &vector) |
| Insert a vector by iterator.
|
|
Iterator | Insert (const Iterator &dest, const ConstIterator &start, const ConstIterator &end) |
| Insert a vector partially by iterators.
|
|
Iterator | Insert (const Iterator &dest, const T *start, const T *end) |
| Insert elements.
|
|
void | Erase (unsigned pos, unsigned length=1) |
| Erase a range of elements.
|
|
Iterator | Erase (const Iterator &it) |
| Erase an element by iterator. Return iterator to the next element.
|
|
Iterator | Erase (const Iterator &start, const Iterator &end) |
| Erase a range by iterators. Return iterator to the next element.
|
|
void | EraseSwap (unsigned pos, unsigned length=1) |
| Erase a range of elements by swapping elements from the end of the array.
|
|
bool | Remove (const T &value) |
| Erase an element by value. Return true if was found and erased.
|
|
bool | RemoveSwap (const T &value) |
| Erase an element by value by swapping with the last element. Return true if was found and erased.
|
|
void | Clear () |
| Clear the vector.
|
|
void | Resize (unsigned newSize) |
| Resize the vector.
|
|
void | Resize (unsigned newSize, const T &value) |
| Resize the vector and fill new elements with default value.
|
|
void | Reserve (unsigned newCapacity) |
| Set new capacity.
|
|
void | Compact () |
| Reallocate so that no extra memory is used.
|
|
Iterator | Find (const T &value) |
| Return iterator to value, or to the end if not found.
|
|
ConstIterator | Find (const T &value) const |
| Return const iterator to value, or to the end if not found.
|
|
unsigned | IndexOf (const T &value) const |
| Return index of value in vector, or size if not found.
|
|
bool | Contains (const T &value) const |
| Return whether contains a specific value.
|
|
Iterator | Begin () |
| Return iterator to the beginning.
|
|
ConstIterator | Begin () const |
| Return const iterator to the beginning.
|
|
Iterator | End () |
| Return iterator to the end.
|
|
ConstIterator | End () const |
| Return const iterator to the end.
|
|
T & | Front () |
| Return first element.
|
|
const T & | Front () const |
| Return const first element.
|
|
T & | Back () |
| Return last element.
|
|
const T & | Back () const |
| Return const last element.
|
|
unsigned | Size () const |
| Return number of elements.
|
|
unsigned | Capacity () const |
| Return capacity of vector.
|
|
bool | Empty () const |
| Return whether vector is empty.
|
|
T * | Buffer () const |
| Return the buffer with right type.
|
|
| VectorBase () noexcept |
| Construct.
|
|
void | Swap (VectorBase &rhs) |
| Swap with another vector.
|
|
template<class T>
class Urho3D::PODVector< T >
Vector template class for POD types. Does not call constructors or destructors and uses block move. Is intentionally (for performance reasons) unsafe for self-insertion.