MCPcopy Create free account
hub / github.com/Singular/Singular / uncheckedAdd

Method uncheckedAdd

ppcc/adlib/map.h:219–242  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

217
218template <typename K, typename V>
219void Map<K, V>::uncheckedAdd(K key, V value, bool replace) {
220 INIT_HASH_LOOP(key);
221 Int freepos = -1;
222 while (_state[pos] != SLOT_EMPTY) {
223 if (_state[pos] == occ && _cmp(_keys[pos], key) == 0) {
224 if (replace) {
225 _keys[pos] = key;
226 _values[pos] = value;
227 }
228 return;
229 }
230 if (_state[pos] == SLOT_DELETED && freepos < 0)
231 freepos = pos;
232 pos = next(pos, hash) & mask;
233 }
234 if (freepos >= 0) {
235 _deleted--;
236 pos = freepos;
237 }
238 _keys[pos] = key;
239 _values[pos] = value;
240 _state[pos] = occ;
241 _count++;
242}
243
244template <typename K, typename V>
245Map<K, V> *Map<K, V>::add(K key, V value, bool replace) {

Callers

nothing calls this directly

Calls 1

nextFunction · 0.85

Tested by

no test coverage detected