|
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) |
|