X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=include%2Fskiplist.h;fp=include%2Fskiplist.h;h=11824f8f747cbb6c3e0e68cb8569c9a1539f5990;hb=d26bac75802a324ed98c8d3d88cfb9eb87b3b35a;hp=0000000000000000000000000000000000000000;hpb=4d8c8b76b77d3c4966361ad78b08d9ba2d90318a;p=nbds diff --git a/include/skiplist.h b/include/skiplist.h new file mode 100644 index 0000000..11824f8 --- /dev/null +++ b/include/skiplist.h @@ -0,0 +1,19 @@ +#ifndef SKIPLIST_H +#define SKIPLIST_H + +#include "datatype.h" +#include "map.h" + +typedef struct sl skiplist_t; + +extern map_type_t MAP_TYPE_SKIPLIST; + +skiplist_t *sl_alloc (const datatype_t *key_type); +uint64_t sl_cas (skiplist_t *sl, void *key, uint64_t expected_val, uint64_t new_val); +uint64_t sl_lookup (skiplist_t *sl, void *key); +uint64_t sl_remove (skiplist_t *sl, void *key); +uint64_t sl_count (skiplist_t *sl); +void sl_print (skiplist_t *sl); +void sl_free (skiplist_t *sl); + +#endif//SKIPLIST_H