aboutsummaryrefslogtreecommitdiff
path: root/include/hashmap.h
blob: 52734976d3e121cd1d5f4ddd4e4eacd94ee752d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef HASHMAP_H
#define HASHMAP_H


typedef struct HashMap *hashmap_t;

typedef struct HashMapKeysIter *hashmap_keys_iter_t;


hashmap_t hashmap_create(void);
void hashmap_free(hashmap_t map);

void **hashmap_get(hashmap_t map, const char *key);
void hashmap_insert(hashmap_t map, const char *key, void *value);
int hashmap_delete(hashmap_t map, const char *key);

hashmap_keys_iter_t hashmap_keys_iter_create(hashmap_t map);
const char *hashmap_keys_iter_next(hashmap_keys_iter_t iter);
void hashmap_keys_iter_free(hashmap_keys_iter_t iter);


#endif