diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:26:50 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-02-10 10:26:50 +0100 |
| commit | 97a214db20684ef192478799b9ae050beebdfe60 (patch) | |
| tree | b24c04c19b2b0a68ddc0de50565ed255a8b31d1f /src/hashm.h | |
| parent | 5be69e64cfd17b20c0c7fef3b3e2983cf69e8645 (diff) | |
fork
Diffstat (limited to 'src/hashm.h')
| -rw-r--r-- | src/hashm.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/hashm.h b/src/hashm.h index e1ed720..5e5e802 100644 --- a/src/hashm.h +++ b/src/hashm.h @@ -62,15 +62,17 @@ inline void wayc_hashmap_deinit(hashmap_s<K, V> *map) { } template <typename K, typename V> -inline V *wayc_hashmap_insert(hashmap_s<K, V> *map, const K *key) { +inline V *wayc_hashmap_insert(hashmap_s<K, V> *map, const K *key, + const V *value) { wayc_notnull(map); wayc_notnull(key); + wayc_notnull(value); hashentry_s<K, V> entry{}; entry.key = *key; - auto *stored = (hashentry_s<K, V> *)hashmap_set(map->inner, &entry); + entry.value = *value; + auto *stored = (hashentry_s<K, V> *)hashmap_insert(map->inner, &entry); - wayc_notnull(stored); return &stored->value; } @@ -87,3 +89,13 @@ inline V *wayc_hashmap_get(hashmap_s<K, V> *map, const K *key) { return &stored->value; } + +template <typename K, typename V> +inline void wayc_hashmap_remove(hashmap_s<K, V> *map, const K *key) { + wayc_notnull(map); + wayc_notnull(key); + + hashentry_s<K, V> entry{}; + entry.key = *key; + hashmap_remove(map->inner, &entry); +}
\ No newline at end of file |
