8#define MAX_MAP_SIZE UINT_MAX
62template <
class K,
class V>
class map {
65 unsigned int peakSize;
66 unsigned int allocSize;
67 unsigned int startSize;
78 map(
unsigned int startSize = ARRAY_INIT_SIZE,
unsigned int maxSize = ARRAY_MAX_SIZE,
79 unsigned int incSize = ARRAY_INC_SIZE,
bool shrink =
true)
80 : startSize(startSize), maxSize(maxSize), incSize(incSize), shrink(shrink),
81 keys(
array<K>(startSize, maxSize, incSize, shrink)),
82 values(
array<V>(startSize, maxSize, incSize, shrink)) {
99 allocSize = startSize;
125 for (
unsigned int i = 0; i < keys.
length(); i++) {
137 for (
unsigned int i = 0; i < keys.
length(); i++) {
138 if (keys[i] == key) {
142 int i = keys.
add(key);
157 for (
unsigned int i = 0; i < keys.
length(); i++) {
169 for (
unsigned int i = 0; i < keys.
length(); i++) {
170 if (keys[i] == key) {
186 bad = entryInvalidValue;
Lightweight c++11 array implementation.
Definition: ustd_array.h:123
bool erase(unsigned int index)
Definition: ustd_array.h:305
int add(T &entry)
Definition: ustd_array.h:288
unsigned int length() const
Definition: ustd_array.h:378
Lightweight c++11 dictionary map implementation.
Definition: ustd_map.h:62
int find(K key)
Definition: ustd_map.h:153
ustd::array< V > values
Definition: ustd_map.h:75
const ustd::array< K > & keysArray()
Definition: ustd_map.h:198
V operator[](K key) const
Definition: ustd_map.h:120
void setInvalidValue(V &entryInvalidValue)
Definition: ustd_map.h:179
V & operator[](K key)
Definition: ustd_map.h:132
~map()
Definition: ustd_map.h:116
unsigned int length()
Definition: ustd_map.h:206
int erase(K key)
Definition: ustd_map.h:164
unsigned int peak()
Definition: ustd_map.h:212
bool isEmpty()
Definition: ustd_map.h:189
map(unsigned int startSize=ARRAY_INIT_SIZE, unsigned int maxSize=ARRAY_MAX_SIZE, unsigned int incSize=ARRAY_INC_SIZE, bool shrink=true)
Definition: ustd_map.h:78
The ustd namespace.
Definition: ustd_array.h:34