34#if !defined(AVL_DEPTH) && !defined(AVL_COUNT)
void avl_free_tree(avl_tree_t *)
avl_node_t * avl_insert(avl_tree_t *, void *item)
avl_node_t * avl_search(const avl_tree_t *, const void *item)
void(* avl_freeitem_t)(void *)
int(* avl_compare_t)(const void *, const void *)
unsigned int avl_count(const avl_tree_t *)
avl_node_t * avl_at(const avl_tree_t *, unsigned int)
struct avl_tree_t avl_tree_t
avl_node_t * avl_insert_after(avl_tree_t *, avl_node_t *old, avl_node_t *n)
avl_tree_t * avl_alloc_tree(avl_compare_t, avl_freeitem_t)
void * avl_delete(avl_tree_t *, const void *item)
struct avl_node_t avl_node_t
unsigned int avl_index(const avl_node_t *)
avl_node_t * avl_fixup_node(avl_tree_t *, avl_node_t *n)
void avl_free_nodes(avl_tree_t *)
void avl_clear_tree(avl_tree_t *)
avl_tree_t * avl_init_tree(avl_tree_t *avltree, avl_compare_t, avl_freeitem_t)
avl_node_t * avl_insert_top(avl_tree_t *, avl_node_t *avlnode)
void avl_unlink_node(avl_tree_t *, avl_node_t *)
int avl_search_closest(const avl_tree_t *, const void *item, avl_node_t **avlnode)
avl_node_t * avl_init_node(avl_node_t *avlnode, void *item)
void * avl_delete_node(avl_tree_t *, avl_node_t *)
avl_node_t * avl_insert_node(avl_tree_t *, avl_node_t *)
avl_node_t * avl_insert_before(avl_tree_t *, avl_node_t *old, avl_node_t *n)
struct avl_node_t * parent
struct avl_node_t * right