]> begriffs open source - libderp/blob - include/treemap.h
Remove gcda during tests, not as part of make
[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 typedef struct tm_iter tm_iter;
11
12 treemap * tm_new(comparator *, void *cmp_aux);
13 void      tm_free(treemap *);
14 void      tm_dtor(treemap *, dtor *key_dtor, dtor *val_dtor, void *aux);
15 size_t    tm_length(const treemap *);
16 bool      tm_is_empty(const treemap *);
17 void *    tm_at(const treemap *, const void *);
18 bool      tm_insert(treemap *, void *key, void *val);
19 bool      tm_remove(treemap *, void *);
20 void      tm_clear(treemap *);
21
22 tm_iter*         tm_iter_begin(treemap *);
23 struct map_pair* tm_iter_next(tm_iter *);
24 void             tm_iter_free(tm_iter *);
25
26 #endif