typedef struct fz_tree fz_tree
AA-tree to look up things by strings.
void *
fz_tree_lookup (
fz_context *ctx,
fz_tree *node,
const char *key
)
Look for the value of a node in the tree with the given key.
Simple pointer equivalence is used for key.
Returns NULL for no match.
fz_tree *
fz_tree_insert (
fz_context *ctx,
fz_tree *root,
const char *key,
void *value
)
Insert a new key/value pair and rebalance the tree. Return the new root of the tree after inserting and rebalancing. May be called with a NULL root to create a new tree.
No data is copied into the tree structure; key and value are merely kept as pointers.
void fz_drop_tree(fz_context *ctx, fz_tree *node, void (*dropfunc)(fz_context *ctx, void *value))
Drop the tree.
The storage used by the tree is freed, and each value has dropfunc called on it.