|
| static avl_node * | new_node () |
| |
| static avl_node * | find_rightmost () |
| |
| static void | do_rebalance () |
| |
| static | rotate_left () |
| |
| static | rotate_right () |
| |
| static int | do_check_tree () |
| |
| avl_tree * | avl_init_table (int(*)() compar) |
| |
| | avl_lookup (avl_tree *tree, char *key, char **value_p) |
| |
| | avl_first (avl_tree *tree, char **key_p, char **value_p) |
| |
| | avl_last (avl_tree *tree, char **key_p, char **value_p) |
| |
| | avl_insert (avl_tree *tree, char *key, char *value) |
| |
| | avl_find_or_add (avl_tree *tree, char *key, char ***slot_p) |
| |
| | avl_delete (avl_tree *tree, char **key_p, char **value_p) |
| |
| static void | avl_record_gen_forward (avl_node *node, avl_generator *gen) |
| |
| static void | avl_record_gen_backward (avl_node *node, avl_generator *gen) |
| |
| avl_generator * | avl_init_gen (avl_tree *tree, int dir) |
| |
| | avl_gen (avl_generator *gen, char **key_p, char **value_p) |
| |
| void | avl_free_gen (avl_generator *gen) |
| |
| static avl_node * | find_rightmost (avl_node **node_p) |
| |
| static void | do_rebalance (avl_node ***stack_nodep, int stack_n) |
| |
| static | rotate_left (avl_node **node_p) |
| |
| static | rotate_right (avl_node **node_p) |
| |
| static void | avl_walk_forward (avl_node *node, void(*)() func) |
| |
| static void | avl_walk_backward (avl_node *node, void(*)() func) |
| |
| void | avl_foreach (avl_tree *tree, void(*)() func, int direction) |
| |
| static void | free_entry (avl_node *node, void(*)() key_free, void(*)() value_free) |
| |
| void | avl_free_table (avl_tree *tree, void(*)() key_free, void(*)() value_free) |
| |
| int | avl_count (avl_tree *tree) |
| |
| static avl_node * | new_node (char *key, char *value) |
| |
| int | avl_numcmp (char *x, char *y) |
| |
| int | avl_check_tree (avl_tree *tree) |
| |
| static int | do_check_tree (avl_node *node, int(*)() compar, int *error) |
| |