Base class for all array containers. Implements all the basic functionality that only requires a pointer and the element count.
More...
|
| ezArrayBase () |
| Constructor.
|
|
| ~ezArrayBase () |
| Destructor.
|
|
void | operator= (const ezArrayPtr< const T > &rhs) |
| Copies the data from some other contiguous array into this one.
|
|
| operator ezArrayPtr< const T > () const |
| Conversion to const ezArrayPtr.
|
|
| operator ezArrayPtr< T > () |
| Conversion to ezArrayPtr.
|
|
bool | operator== (const ezArrayBase< T, Derived > &rhs) const |
| Compares this array to another contiguous array type.
|
|
| EZ_ADD_DEFAULT_OPERATOR_NOTEQUAL (const ezArrayBase< T, Derived > &) |
|
bool | operator< (const ezArrayBase< T, Derived > &rhs) const |
| Compares this array to another contiguous array type.
|
|
bool | operator< (const ezArrayPtr< const T > &rhs) const |
| Compares this array to another contiguous array type.
|
|
const T & | operator[] (ezUInt32 uiIndex) const |
| Returns the element at the given index. Does bounds checks in debug builds.
|
|
T & | operator[] (ezUInt32 uiIndex) |
| Returns the element at the given index. Does bounds checks in debug builds.
|
|
void | SetCount (ezUInt32 uiCount) |
| Resizes the array to have exactly uiCount elements. Default constructs extra elements if the array is grown.
|
|
void | SetCount (ezUInt32 uiCount, const T &fillValue) |
| Resizes the array to have exactly uiCount elements. Constructs all new elements by copying the FillValue.
|
|
template<typename = void> |
void | SetCountUninitialized (ezUInt32 uiCount) |
| Resizes the array to have exactly uiCount elements. Extra elements might be uninitialized.
|
|
void | EnsureCount (ezUInt32 uiCount) |
| Ensures the container has at least uiCount elements. Ie. calls SetCount() if the container has fewer elements, does nothing otherwise.
|
|
ezUInt32 | GetCount () const |
| Returns the number of active elements in the array.
|
|
bool | IsEmpty () const |
| Returns true, if the array does not contain any elements.
|
|
void | Clear () |
| Clears the array.
|
|
bool | Contains (const T &value) const |
| Checks whether the given value can be found in the array. O(n) complexity.
|
|
void | InsertAt (ezUInt32 uiIndex, const T &value) |
| Inserts value at index by shifting all following elements.
|
|
void | InsertAt (ezUInt32 uiIndex, T &&value) |
| Inserts value at index by shifting all following elements.
|
|
void | InsertRangeAt (ezUInt32 uiIndex, const ezArrayPtr< const T > &range) |
| Inserts all elements in the range starting at the given index, shifting the elements after the index.
|
|
bool | RemoveAndCopy (const T &value) |
| Removes the first occurrence of value and fills the gap by shifting all following elements.
|
|
bool | RemoveAndSwap (const T &value) |
| Removes the first occurrence of value and fills the gap by swapping in the last element.
|
|
void | RemoveAtAndCopy (ezUInt32 uiIndex, ezUInt32 uiNumElements=1) |
| Removes the element at index and fills the gap by shifting all following elements.
|
|
void | RemoveAtAndSwap (ezUInt32 uiIndex, ezUInt32 uiNumElements=1) |
| Removes the element at index and fills the gap by swapping in the last element.
|
|
ezUInt32 | IndexOf (const T &value, ezUInt32 uiStartIndex=0) const |
| Searches for the first occurrence of the given value and returns its index or ezInvalidIndex if not found.
|
|
ezUInt32 | LastIndexOf (const T &value, ezUInt32 uiStartIndex=ezInvalidIndex) const |
| Searches for the last occurrence of the given value and returns its index or ezInvalidIndex if not found.
|
|
T & | ExpandAndGetRef () |
| Grows the array by one element and returns a reference to the newly created element.
|
|
T * | ExpandBy (ezUInt32 uiNumNewItems) |
| Expands the array by N new items and returns a pointer to the first new one.
|
|
void | PushBack (const T &value) |
| Pushes value at the end of the array.
|
|
void | PushBack (T &&value) |
| Pushes value at the end of the array.
|
|
void | PushBackUnchecked (const T &value) |
| Pushes value at the end of the array. Does NOT ensure capacity.
|
|
void | PushBackUnchecked (T &&value) |
| Pushes value at the end of the array. Does NOT ensure capacity.
|
|
void | PushBackRange (const ezArrayPtr< const T > &range) |
| Pushes all elements in range at the end of the array. Increases the capacity if necessary.
|
|
void | PopBack (ezUInt32 uiCountToRemove=1) |
| Removes count elements from the end of the array.
|
|
T & | PeekBack () |
| Returns the last element of the array.
|
|
const T & | PeekBack () const |
| Returns the last element of the array.
|
|
template<typename Comparer > |
void | Sort (const Comparer &comparer) |
| Sort with explicit comparer.
|
|
void | Sort () |
| Sort with default comparer.
|
|
T * | GetData () |
| Returns a pointer to the array data, or nullptr if the array is empty.
|
|
const T * | GetData () const |
| Returns a pointer to the array data, or nullptr if the array is empty.
|
|
ezArrayPtr< T > | GetArrayPtr () |
| Returns an array pointer to the array data, or an empty array pointer if the array is empty.
|
|
ezArrayPtr< const T > | GetArrayPtr () const |
| Returns an array pointer to the array data, or an empty array pointer if the array is empty.
|
|
ezArrayPtr< typename ezArrayPtr< T >::ByteType > | GetByteArrayPtr () |
| Returns a byte array pointer to the array data, or an empty array pointer if the array is empty.
|
|
ezArrayPtr< typename ezArrayPtr< const T >::ByteType > | GetByteArrayPtr () const |
| Returns a byte array pointer to the array data, or an empty array pointer if the array is empty.
|
|
ezUInt32 | GetCapacity () const |
| Returns the reserved number of elements that the array can hold without reallocating.
|
|
template<typename T, typename Derived>
class ezArrayBase< T, Derived >
Base class for all array containers. Implements all the basic functionality that only requires a pointer and the element count.