|
| plMap (plAllocator *pAllocator) |
|
| plMap (const Comparer &comparer, plAllocator *pAllocator) |
|
| plMap (const plMap< KeyType, ValueType, Comparer, AllocatorWrapper > &other) |
|
| plMap (const plMapBase< KeyType, ValueType, Comparer > &other) |
|
void | operator= (const plMap< KeyType, ValueType, Comparer, AllocatorWrapper > &rhs) |
|
void | operator= (const plMapBase< KeyType, ValueType, Comparer > &rhs) |
|
bool | IsEmpty () const |
| Returns whether there are no elements in the map. O(1) operation.
|
|
plUInt32 | GetCount () const |
| Returns the number of elements currently stored in the map. O(1) operation.
|
|
void | Clear () |
| Destroys all elements in the map and resets its size to zero.
|
|
Iterator | GetIterator () |
| Returns an Iterator to the very first element.
|
|
ReverseIterator | GetReverseIterator () |
| Returns a ReverseIterator to the very last element.
|
|
ConstIterator | GetIterator () const |
| Returns a constant Iterator to the very first element.
|
|
ConstReverseIterator | GetReverseIterator () const |
| Returns a constant ReverseIterator to the very last element.
|
|
template<typename CompatibleKeyType , typename CompatibleValueType > |
Iterator | Insert (CompatibleKeyType &&key, CompatibleValueType &&value) |
| Inserts the key/value pair into the tree and returns an Iterator to it. O(log n) operation.
|
|
template<typename CompatibleKeyType > |
bool | Remove (const CompatibleKeyType &key) |
| Erases the key/value pair with the given key, if it exists. O(log n) operation.
|
|
Iterator | Remove (const Iterator &pos) |
| Erases the key/value pair at the given Iterator. O(log n) operation. Returns an iterator to the element after the given iterator.
|
|
template<typename CompatibleKeyType > |
Iterator | FindOrAdd (CompatibleKeyType &&key, bool *out_pExisted=nullptr) |
| Searches for the given key and returns an iterator to it. If it did not exist yet, it is default-created. bExisted is set to true, if the key was found, false if it needed to be created.
|
|
template<typename CompatibleKeyType > |
ValueType & | operator[] (const CompatibleKeyType &key) |
| Allows read/write access to the value stored under the given key. If there is no such key, a new element is default-constructed.
|
|
template<typename CompatibleKeyType > |
bool | TryGetValue (const CompatibleKeyType &key, ValueType &out_value) const |
| Returns whether an entry with the given key was found and if found writes out the corresponding value to out_value.
|
|
template<typename CompatibleKeyType > |
bool | TryGetValue (const CompatibleKeyType &key, const ValueType *&out_pValue) const |
| Returns whether an entry with the given key was found and if found writes out the pointer to the corresponding value to out_pValue.
|
|
template<typename CompatibleKeyType > |
bool | TryGetValue (const CompatibleKeyType &key, ValueType *&out_pValue) const |
| Returns whether an entry with the given key was found and if found writes out the pointer to the corresponding value to out_pValue.
|
|
template<typename CompatibleKeyType > |
const ValueType * | GetValue (const CompatibleKeyType &key) const |
| Returns a pointer to the value of the entry with the given key if found, otherwise returns nullptr.
|
|
template<typename CompatibleKeyType > |
ValueType * | GetValue (const CompatibleKeyType &key) |
| Returns a pointer to the value of the entry with the given key if found, otherwise returns nullptr.
|
|
template<typename CompatibleKeyType > |
const ValueType & | GetValueOrDefault (const CompatibleKeyType &key, const ValueType &defaultValue) const |
| Either returns the value of the entry with the given key, if found, or the provided default value.
|
|
template<typename CompatibleKeyType > |
Iterator | Find (const CompatibleKeyType &key) |
| Searches for key, returns an Iterator to it or an invalid iterator, if no such key is found. O(log n) operation.
|
|
template<typename CompatibleKeyType > |
Iterator | LowerBound (const CompatibleKeyType &key) |
| Returns an Iterator to the element with a key equal or larger than the given key. Returns an invalid iterator, if there is no such element.
|
|
template<typename CompatibleKeyType > |
Iterator | UpperBound (const CompatibleKeyType &key) |
| Returns an Iterator to the element with a key that is LARGER than the given key. Returns an invalid iterator, if there is no such element.
|
|
template<typename CompatibleKeyType > |
ConstIterator | Find (const CompatibleKeyType &key) const |
| Searches for key, returns an Iterator to it or an invalid iterator, if no such key is found. O(log n) operation.
|
|
template<typename CompatibleKeyType > |
bool | Contains (const CompatibleKeyType &key) const |
| Checks whether the given key is in the container.
|
|
template<typename CompatibleKeyType > |
ConstIterator | LowerBound (const CompatibleKeyType &key) const |
| Returns an Iterator to the element with a key equal or larger than the given key. Returns an invalid iterator, if there is no such element.
|
|
template<typename CompatibleKeyType > |
ConstIterator | UpperBound (const CompatibleKeyType &key) const |
| Returns an Iterator to the element with a key that is LARGER than the given key. Returns an invalid iterator, if there is no such element.
|
|
plAllocator * | GetAllocator () const |
| Returns the allocator that is used by this instance.
|
|
bool | operator== (const plMapBase< KeyType, ValueType, Comparer > &rhs) const |
| Comparison operator.
|
|
| PL_ADD_DEFAULT_OPERATOR_NOTEQUAL (const plMapBase< KeyType, ValueType, Comparer > &) |
|
plUInt64 | GetHeapMemoryUsage () const |
| Returns the amount of bytes that are currently allocated on the heap.
|
|
void | Swap (plMapBase< KeyType, ValueType, Comparer > &other) |
| Swaps this map with the other one.
|
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE bool | TryGetValue (const CompatibleKeyType &key, ValueType &out_value) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE bool | TryGetValue (const CompatibleKeyType &key, const ValueType *&out_pValue) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE bool | TryGetValue (const CompatibleKeyType &key, ValueType *&out_pValue) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE const ValueType * | GetValue (const CompatibleKeyType &key) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE ValueType * | GetValue (const CompatibleKeyType &key) |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE const ValueType & | GetValueOrDefault (const CompatibleKeyType &key, const ValueType &defaultValue) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::Iterator | Find (const CompatibleKeyType &key) |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::ConstIterator | Find (const CompatibleKeyType &key) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE bool | Contains (const CompatibleKeyType &key) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::Iterator | LowerBound (const CompatibleKeyType &key) |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::ConstIterator | LowerBound (const CompatibleKeyType &key) const |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::Iterator | UpperBound (const CompatibleKeyType &key) |
|
template<typename CompatibleKeyType > |
PL_ALWAYS_INLINE plMapBase< KeyType, ValueType, Comparer >::ConstIterator | UpperBound (const CompatibleKeyType &key) const |
|
template<typename KeyType, typename ValueType, typename Comparer = plCompareHelper<KeyType>, typename AllocatorWrapper = plDefaultAllocatorWrapper>
class plMap< KeyType, ValueType, Comparer, AllocatorWrapper >
- See also
- plMapBase