]> begriffs open source - libderp/blob - include/treemap.h
Fix memory leak
[libderp] / include / treemap.h
1 #ifndef LIBDERP_TREEMAP_H
2 #define LIBDERP_TREEMAP_H
3
4 #include "common.h"
5
6 #include <stdbool.h>
7 #include <stddef.h>
8
9 typedef struct treemap treemap;
10
11 /* don't look inside, clients */
12 typedef struct tm_iter
13 {
14         int foo;
15 } tm_iter;
16
17 treemap * tm_new(comparator *, void *cmp_aux);
18 void      tm_free(treemap *);
19 void      tm_dtor(treemap *, dtor *key_dtor, dtor *val_dtor, void *aux);
20 size_t    tm_length(const treemap *);
21 bool      tm_is_empty(const treemap *);
22 void *    tm_at(const treemap *, const void *);
23 bool      tm_insert(treemap *, void *key, void *val);
24 bool      tm_remove(treemap *, void *);
25 void      tm_clear(treemap *);
26
27 bool             tm_iter_begin(treemap *h, tm_iter *i);
28 struct map_pair* tm_iter_next(tm_iter *);
29
30 #endif