#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 {
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.
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.