]> git.lizzy.rs Git - dragonstd.git/blobdiff - tree.h
Callback rework
[dragonstd.git] / tree.h
diff --git a/tree.h b/tree.h
index 4df0e016e30e0de2ea6c7da1001dab5e26ed6d6d..a55671f3dd5481272bb04b97591a0736f7f7bd62 100644 (file)
--- a/tree.h
+++ b/tree.h
@@ -15,7 +15,7 @@
 #define _DRAGONSTD_TREE_H_
 
 #include <stdbool.h>       // for bool
-#include "bits/callback.h" // for Iterator, Comparator, Transformer, Callback
+#include "bits/callback.h" // for Callback, Comparator, Transformer, Callback
 #include "bits/compare.h"  // for cmp_ref (not used in file)
 
 typedef struct TreeNode {
@@ -58,7 +58,7 @@ void *tree_get(Tree *tree, void *key, Comparator cmp, Transformer trans);
        Get an element from the tree, or return NULL if none found.
 */
 
-bool tree_del(Tree *tree, void *key, Comparator cmp, Callback call);
+bool tree_del(Tree *tree, void *key, Comparator cmp, Callback call, void *arg);
 /*
        Delete an element from the tree if it is found.
        Return whether an element has been deleted.
@@ -82,13 +82,13 @@ void tree_nrm(Tree *tree, TreeNode **node);
        Remove the node at the given location.
 */
 
-void tree_trv(Tree *tree, Iterator iter, void *arg, Transformer trans, TreeTraversionOrder order);
+void tree_trv(Tree *tree, Callback iter, void *arg, Transformer trans, TreeTraversionOrder order);
 /*
        Traverse the tree.
        Calls iter on every element, with the extra argument arg.
 */
 
-void tree_clr(Tree *tree, Iterator iter, void *arg, Transformer trans, TreeTraversionOrder order);
+void tree_clr(Tree *tree, Callback iter, void *arg, Transformer trans, TreeTraversionOrder order);
 /*
        Traverses the tree and deletes all elements.
        Calls iter on every element, with the extra argument arg.