A map holding VectorMapItem key-value pairs in an unsorted Vector.
More...
#include <VectorMap.h>
|
| auto | size () const |
| | Return the number of key-value pairs in the map.
|
| |
| auto | isEmpty () const |
| | Check if the map is empty.
|
| |
|
Item * | begin () |
| |
|
const Item * | begin () const |
| |
|
Item * | end () |
| |
|
const Item * | end () const |
| |
| template<typename ComparableToKey > |
| bool | remove (const ComparableToKey &key) |
| | Remove an item with matching key from the Map.
|
| |
| bool | insertIfNotExists (Item &&item) |
| | Inserts an item if it doesn't exist already.
|
| |
| Value * | insertOverwrite (Item &&item) |
| | Insert an item, overwriting the potentially already existing one.
|
| |
| Key * | insertValueUniqueKey (Value &&value) |
| | Inserts a new value, automatically generating key with Key::generateUniqueKey (works for StrongID for example)
|
| |
| template<typename ComparableToKey > |
| bool | contains (const ComparableToKey &key) const |
| | Check if the given key is contained in the map.
|
| |
| template<typename ComparableToKey > |
| bool | contains (const ComparableToKey &key, const Value *&outValue) const |
| | Check if the given key is contained in the map.
|
| |
| template<typename ComparableToKey > |
| bool | contains (const ComparableToKey &key, Value *&outValue) |
| | Check if the given key is contained in the map.
|
| |
| template<typename ComparableToKey > |
| const Value * | get (const ComparableToKey &key) const |
| | Get the Value associated to the given key.
|
| |
| template<typename ComparableToKey > |
| Value * | get (const ComparableToKey &key) |
| | Get the Value associated to the given key.
|
| |
| template<typename ComparableToKey > |
| Value * | getOrCreate (const ComparableToKey &key) |
| | Get the value associated to the given key, or creates a new one if needed.
|
| |
template<typename Key, typename Value, typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
struct SC::VectorMap< Key, Value, Container >
A map holding VectorMapItem key-value pairs in an unsorted Vector.
- Template Parameters
-
| Key | Type of the key (must support == comparison) |
| Value | Value type associated with Key |
| Container | Container used for the Map |
◆ contains() [1/3]
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| bool SC::VectorMap< Key, Value, Container >::contains |
( |
const ComparableToKey & | key | ) |
const |
|
inlinenodiscard |
Check if the given key is contained in the map.
◆ contains() [2/3]
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| bool SC::VectorMap< Key, Value, Container >::contains |
( |
const ComparableToKey & | key, |
|
|
const Value *& | outValue ) const |
|
inlinenodiscard |
Check if the given key is contained in the map.
- Parameters
-
| key | The key to search for inside current map |
| outValue | A reference that will receive pointer to the found element (if found) |
◆ contains() [3/3]
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| bool SC::VectorMap< Key, Value, Container >::contains |
( |
const ComparableToKey & | key, |
|
|
Value *& | outValue ) |
|
inlinenodiscard |
Check if the given key is contained in the map.
- Parameters
-
| key | The key to search for inside current map |
| outValue | A reference that will receive pointer to the found element (if found) |
◆ get() [1/2]
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| Value * SC::VectorMap< Key, Value, Container >::get |
( |
const ComparableToKey & | key | ) |
|
|
inlinenodiscard |
Get the Value associated to the given key.
- Returns
- A pointer to the value if it exists in the map,
nullptr otherwise
◆ get() [2/2]
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| const Value * SC::VectorMap< Key, Value, Container >::get |
( |
const ComparableToKey & | key | ) |
const |
|
inlinenodiscard |
Get the Value associated to the given key.
- Returns
- A pointer to the value if it exists in the map,
nullptr otherwise
◆ getOrCreate()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| Value * SC::VectorMap< Key, Value, Container >::getOrCreate |
( |
const ComparableToKey & | key | ) |
|
|
inlinenodiscard |
Get the value associated to the given key, or creates a new one if needed.
- Returns
- A pointer to the value or
nullptr if the map is full
◆ insertIfNotExists()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
Inserts an item if it doesn't exist already.
- Parameters
-
- Returns
false if item already exists or if insertion fails (true otherwise)
◆ insertOverwrite()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
Insert an item, overwriting the potentially already existing one.
- Parameters
-
- Returns
- A pointer to the Value if insertion succeeds,
nullptr if insertion fails.
◆ insertValueUniqueKey()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
| Key * SC::VectorMap< Key, Value, Container >::insertValueUniqueKey |
( |
Value && | value | ) |
|
|
inlinenodiscard |
Inserts a new value, automatically generating key with Key::generateUniqueKey (works for StrongID for example)
- Parameters
-
| value | The new value to be inserted |
- Returns
- A pointer to the new Key or
nullptr if the map is full
◆ isEmpty()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
Check if the map is empty.
◆ remove()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
template<typename ComparableToKey >
| bool SC::VectorMap< Key, Value, Container >::remove |
( |
const ComparableToKey & | key | ) |
|
|
inlinenodiscard |
Remove an item with matching key from the Map.
- Parameters
-
| key | The key that must be removed |
- Returns
true if the item was found
◆ size()
template<typename Key , typename Value , typename Container = SC::Vector<SC::VectorMapItem<Key, Value>>>
Return the number of key-value pairs in the map.
The documentation for this struct was generated from the following file: