1 #ifndef LIBDERP_TREEMAP_H
2 #define LIBDERP_TREEMAP_H
9 typedef struct treemap treemap;
11 /* don't look inside, clients */
12 typedef struct tm_iter
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 *);
27 bool tm_iter_begin(treemap *h, tm_iter *i);
28 struct map_pair* tm_iter_next(tm_iter *);