]> pd.if.org Git - nbds/blobdiff - include/skiplist.h
refactor header files
[nbds] / include / skiplist.h
diff --git a/include/skiplist.h b/include/skiplist.h
new file mode 100644 (file)
index 0000000..11824f8
--- /dev/null
@@ -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