• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #pragma once
2 
3 #include <stdbool.h>
4 
5 struct hash;
6 
7 struct hash_iter {
8 	const struct hash *hash;
9 	unsigned int bucket;
10 	unsigned int entry;
11 };
12 
13 struct hash *hash_new(unsigned int n_buckets, void (*free_value)(void *value));
14 void hash_free(struct hash *hash);
15 int hash_add(struct hash *hash, const char *key, const void *value);
16 int hash_add_unique(struct hash *hash, const char *key, const void *value);
17 int hash_del(struct hash *hash, const char *key);
18 void *hash_find(const struct hash *hash, const char *key);
19 unsigned int hash_get_count(const struct hash *hash);
20 void hash_iter_init(const struct hash *hash, struct hash_iter *iter);
21 bool hash_iter_next(struct hash_iter *iter, const char **key,
22 							const void **value);
23