1 #ifndef LIBDERP_TREEMAP_H
2 #define LIBDERP_TREEMAP_H
9 typedef struct treemap treemap;
10 typedef struct tm_iter tm_iter;
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 *);
22 tm_iter* tm_iter_begin(treemap *);
23 struct map_pair* tm_iter_next(tm_iter *);
24 void tm_iter_free(tm_iter *);