C hash implementation based on khash.
Install with clib:
$ clib install clibs/hash
hash_t *hash = hash_new(); hash_set(hash, "name", "tobi"); hash_set(hash, "species", "ferret"); hash_set(hash, "age", "2"); hash_each(hash, { printf("%s: %s\n", key, (char *) val); }); hash_free(hash);
yields:
species: ferret
age: 2
name: tobi
The hash type.
Allocate and initialize a new hash.
Free the hash, you must free values appropriately.
unsigned int hash_size(hash_t *self)Return the number of values in the hash table.
void hash_clear(hash_t *self)Remove all values from the hash.
void hash_set(hash_t *self, char *key, void *val);Set key
to val
.
Get value for key
or NULL.
Check if the hash contains key
.
Remove key
from the hash.
A macro for iterating key/value pairs.
hash_each(users, { printf("%s: %s\n", key, (char *) val); })hash_each_key(hash_t *self, block)
A macro for iterating keys only.
hash_each_key(users, { printf("%s\n", key); })hash_each_val(hash_t *self, block)
A macro for iterating values only.
hash_each_val(users, { printf("%s\n", (char *) val); })
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4