58 #ifndef __CSKIPLIST_H__ 59 #define __CSKIPLIST_H__ 78 #define MAX_CSKIPLIST_STR 65536 97 char str[],
int max_cskl_str_len);
160 int max_cskl_str_len);
174 char csklstr[],
int max_cskl_str_len);
void *(* mem_alloc)(size_t size)
void cskl_print(cskiplist_t *cskl, cskl_node_tostr node_tostr)
void(* cskl_node_tostr)(void *node_val, int node_height, int max_height, char str[], int max_cskl_str_len)
bool cskl_delete(cskiplist_t *cskl, void *value)
void cskl_append_node_str(char nodestr[], char csklstr[], int max_cskl_str_len)
void cskl_check_dump(cskiplist_t *cskl, cskl_node_tostr node_tostr)
int compare(SrcFile::ln x, SrcFile::ln y)
void cskl_free(void *node)
csklnode_t * cskl_insert(cskiplist_t *cskl, void *value, mem_alloc m_alloc)
void * cskl_cmp_find(cskiplist_t *cskl, void *val)
void cskl_levels_tostr(int height, int max_height, char str[], int max_cskl_str_len)
cskiplist_t * cskl_new(void *lsentinel, void *rsentinel, int maxheight, val_cmp compare, val_cmp inrange, mem_alloc m_alloc)
int(* val_cmp)(void *lhs, void *rhs)
void * cskl_inrange_find(cskiplist_t *cskl, void *val)
bool cskl_cmp_del_bulk_unsynch(cskiplist_t *cskl, void *low, void *high, mem_free m_free)
bool cskl_inrange_del_bulk_unsynch(cskiplist_t *cskl, void *low, void *high, mem_free m_free)
void cskl_tostr(cskiplist_t *cskl, cskl_node_tostr node_tostr, char csklstr[], int max_cskl_str_len)
void(* mem_free)(void *ptr)
void cskl_dump(cskiplist_t *cskl, cskl_node_tostr node_tostr)