![]() |
ezEngine
Release 25.03
|
See ezArrayMapBase for details. More...
#include <ArrayMap.h>
Public Member Functions | |
ezArrayMap (ezAllocator *pAllocator) | |
ezArrayMap (const ezArrayMap< KEY, VALUE, AllocatorWrapper > &rhs) | |
ezArrayMap (const ezArrayMapBase< KEY, VALUE > &rhs) | |
void | operator= (const ezArrayMap< KEY, VALUE, AllocatorWrapper > &rhs) |
void | operator= (const ezArrayMapBase< KEY, VALUE > &rhs) |
![]() | |
ezArrayMapBase (ezAllocator *pAllocator) | |
Constructor. | |
ezArrayMapBase (const ezArrayMapBase &rhs, ezAllocator *pAllocator) | |
Copy-Constructor. | |
void | operator= (const ezArrayMapBase &rhs) |
Copy assignment operator. | |
ezUInt32 | GetCount () const |
Returns the number of elements stored in the map. | |
bool | IsEmpty () const |
True if the map contains no elements. | |
void | Clear () |
Purges all elements from the map. | |
template<typename CompatibleKeyType , typename CompatibleValueType > | |
ezUInt32 | Insert (CompatibleKeyType &&key, CompatibleValueType &&value) |
Always inserts a new value under the given key. Duplicates are allowed. Returns the index of the newly added element. | |
void | Sort () const |
Ensures the internal data structure is sorted. This is done automatically every time a lookup needs to be made. | |
template<typename CompatibleKeyType > | |
ezUInt32 | Find (const CompatibleKeyType &key) const |
Returns an index to one element with the given key. If the key is inserted multiple times, there is no guarantee which one is returned. Returns ezInvalidIndex when no such element exists. | |
template<typename CompatibleKeyType > | |
ezUInt32 | LowerBound (const CompatibleKeyType &key) const |
Returns the index to the first element with a key equal or larger than the given key. Returns ezInvalidIndex when no such element exists. If there are multiple keys with the same value, the one at the smallest index is returned. | |
template<typename CompatibleKeyType > | |
ezUInt32 | UpperBound (const CompatibleKeyType &key) const |
Returns the index to the first element with a key that is LARGER than the given key. Returns ezInvalidIndex when no such element exists. If there are multiple keys with the same value, the one at the smallest index is returned. | |
const KEY & | GetKey (ezUInt32 uiIndex) const |
Returns the key that is stored at the given index. | |
const VALUE & | GetValue (ezUInt32 uiIndex) const |
Returns the value that is stored at the given index. | |
VALUE & | GetValue (ezUInt32 uiIndex) |
Returns the value that is stored at the given index. | |
ezDynamicArray< Pair > & | GetData () |
Returns a reference to the map data array. | |
const ezDynamicArray< Pair > & | GetData () const |
Returns a constant reference to the map data array. | |
template<typename CompatibleKeyType > | |
VALUE & | FindOrAdd (const CompatibleKeyType &key, bool *out_pExisted=nullptr) |
Returns the value stored at the given key. If none exists, one is created. bExisted indicates whether an element needed to be created. | |
template<typename CompatibleKeyType > | |
VALUE & | operator[] (const CompatibleKeyType &key) |
Same as FindOrAdd. | |
const Pair & | GetPair (ezUInt32 uiIndex) const |
Returns the key/value pair at the given index. | |
void | RemoveAtAndCopy (ezUInt32 uiIndex, bool bKeepSorted=false) |
Removes the element at the given index. More... | |
template<typename CompatibleKeyType > | |
bool | RemoveAndCopy (const CompatibleKeyType &key, bool bKeepSorted=false) |
Removes one element with the given key. Returns true, if one was found and removed. If the same key exists multiple times, you need to call this function multiple times to remove them all. More... | |
template<typename CompatibleKeyType > | |
bool | Contains (const CompatibleKeyType &key) const |
Returns whether an element with the given key exists. | |
template<typename CompatibleKeyType > | |
bool | Contains (const CompatibleKeyType &key, const VALUE &value) const |
Returns whether an element with the given key and value already exists. | |
void | Reserve (ezUInt32 uiSize) |
Reserves enough memory to store size elements. | |
void | Compact () |
Compacts the internal memory to not waste any space. | |
bool | operator== (const ezArrayMapBase< KEY, VALUE > &rhs) const |
Compares the two containers for equality. | |
EZ_ADD_DEFAULT_OPERATOR_NOTEQUAL (const ezArrayMapBase< KEY, VALUE > &) | |
ezUInt64 | GetHeapMemoryUsage () const |
Returns the amount of bytes that are currently allocated on the heap. | |
template<typename CompatibleKeyType > | |
EZ_ALWAYS_INLINE VALUE & | operator[] (const CompatibleKeyType &key) |
template<typename CompatibleKeyType > | |
EZ_ALWAYS_INLINE bool | Contains (const CompatibleKeyType &key) const |
Additional Inherited Members | |
![]() | |
using | const_iterator = typename ezDynamicArray< Pair >::const_iterator |
using | const_reverse_iterator = typename ezDynamicArray< Pair >::const_reverse_iterator |
using | iterator = typename ezDynamicArray< Pair >::iterator |
using | reverse_iterator = typename ezDynamicArray< Pair >::reverse_iterator |
See ezArrayMapBase for details.