28#ifndef LIBDICT_SKIPLIST_H__
29#define LIBDICT_SKIPLIST_H__
62 size_t counts[],
size_t ncounts);
int(* dict_compare_func)(const void *, const void *)
void(* dict_delete_func)(void *, void *)
bool(* dict_visit_func)(const void *, void *, void *)
void skiplist_itor_free(skiplist_itor *)
bool skiplist_itor_search_le(skiplist_itor *itor, const void *key)
size_t skiplist_traverse(skiplist *list, dict_visit_func visit, void *user_data)
skiplist * skiplist_new(dict_compare_func cmp_func, unsigned max_link)
bool skiplist_itor_search_gt(skiplist_itor *itor, const void *key)
bool skiplist_itor_remove(skiplist_itor *itor)
void ** skiplist_search_le(skiplist *list, const void *key)
void ** skiplist_search(skiplist *list, const void *key)
bool skiplist_itor_search(skiplist_itor *itor, const void *key)
bool skiplist_verify(const skiplist *list)
bool skiplist_itor_first(skiplist_itor *itor)
int skiplist_itor_compare(const skiplist_itor *it1, const skiplist_itor *it2)
bool skiplist_itor_next(skiplist_itor *itor)
bool skiplist_itor_prevn(skiplist_itor *itor, size_t count)
size_t skiplist_free(skiplist *list, dict_delete_func delete_func)
void skiplist_itor_invalidate(skiplist_itor *itor)
const void * skiplist_itor_key(const skiplist_itor *itor)
void ** skiplist_search_gt(skiplist *list, const void *key)
bool skiplist_itor_search_lt(skiplist_itor *itor, const void *key)
bool skiplist_itor_valid(const skiplist_itor *itor)
dict * skiplist_dict_new(dict_compare_func cmp_func, unsigned max_link)
void ** skiplist_search_ge(skiplist *list, const void *key)
bool skiplist_itor_search_ge(skiplist_itor *itor, const void *key)
void ** skiplist_itor_datum(skiplist_itor *itor)
dict_itor * skiplist_dict_itor_new(skiplist *list)
void ** skiplist_search_lt(skiplist *list, const void *key)
dict_insert_result skiplist_insert(skiplist *list, void *key)
bool skiplist_itor_nextn(skiplist_itor *itor, size_t count)
skiplist_itor * skiplist_itor_new(skiplist *list)
size_t skiplist_clear(skiplist *list, dict_delete_func delete_func)
size_t skiplist_count(const skiplist *list)
dict_remove_result skiplist_remove(skiplist *list, const void *key)
bool skiplist_itor_last(skiplist_itor *itor)
size_t skiplist_link_count_histogram(const skiplist *list, size_t counts[], size_t ncounts)
bool skiplist_itor_prev(skiplist_itor *itor)
dict_compare_func cmp_func