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: