summaryrefslogtreecommitdiff
path: root/src/btree.h
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2022-01-02 19:14:18 +0000
committer0scar <qgt268@alumni.ku.dk>2022-01-02 19:14:18 +0000
commitc3e8bacc389099e332239319f61338f2be6704cf (patch)
tree8776e7776533cb8c8e905332b52f02ec8eb95f1e /src/btree.h
parenta748bd8c8bc99974186c9fa17b6897dc83036d30 (diff)
Add iterator reset function
This avoids that one has to malloc a new iterator struct
Diffstat (limited to 'src/btree.h')
-rw-r--r--src/btree.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/btree.h b/src/btree.h
index 2cb4016..13b0a4b 100644
--- a/src/btree.h
+++ b/src/btree.h
@@ -36,20 +36,22 @@ struct btree* btree_new_with_allocator(
void *(*alloc)(size_t),
void (*dealloc)(void*));
-void btree_free(struct btree *btree);
+void btree_free(struct btree *btree);
-void* btree_search(struct btree *btree, void *elem);
-void btree_insert(struct btree *btree, void *elem);
-int btree_delete(struct btree *btree, void *elem);
+void* btree_search(struct btree *btree, void *elem);
+void btree_insert(struct btree *btree, void *elem);
+int btree_delete(struct btree *btree, void *elem);
-void btree_print(struct btree *btree, void (*print_elem)(const void*));
+void btree_print(struct btree *btree, void (*print_elem)(const void*));
-void* btree_first(struct btree *btree);
-void* btree_last(struct btree *btree);
+void* btree_first(struct btree *btree);
+void* btree_last(struct btree *btree);
size_t btree_size(struct btree *btree);
-struct btree_iter_t* btree_iter_t_new(struct btree *tree);
-void* btree_iter(struct btree *tree, struct btree_iter_t *iter);
+struct btree_iter_t* btree_iter_t_new(struct btree* tree);
+void btree_iter_t_reset(struct btree *tree, struct btree_iter_t** it);
+
+void* btree_iter(struct btree *tree, struct btree_iter_t *iter);
#endif