Go to the source code of this file.
|
void | avl_walk_forward (avl_node *node, void(*func)(void *key, void *value)) |
|
void | avl_walk_backward (avl_node *node, void(*func)(void *key, void *value)) |
|
void | avl_foreach (avl_tree *tree, void(*func)(void *key, void *value), int direction) |
|
avl_tree * | avl_init_table (int(*compar)(const void *key1, const void *key2)) |
|
int | avl_lookup (avl_tree *tree, void *key, void **value_p) |
|
int | avl_insert (avl_tree *tree, void *key, void *value) |
|
int | avl_delete (avl_tree *tree, void **key_p, void **value_p) |
|
void | avl_free_table (avl_tree *tree, void(*key_free)(void *key), void(*value_free)(void *value)) |
|
int | avl_count (avl_tree *tree) |
|
int | avl_check_tree (avl_tree *tree) |
|
int | avl_extremum (avl_tree *tree, int side, void **value_p) |
|
avl_generator * | avl_init_gen (avl_tree *tree, int dir) |
|
int | avl_gen (avl_generator *gen, void **key_p, void **value_p) |
|
void | avl_free_gen (avl_generator *gen) |
|
int | avl_numcmp (const void *x, const void *y) |
|
◆ AVL_BACKWARD
Definition at line 59 of file avl.h.
◆ avl_foreach_item
#define avl_foreach_item |
( |
|
table, |
|
|
|
gen, |
|
|
|
dir, |
|
|
|
key_p, |
|
|
|
value_p |
|
) |
| |
Value:
Definition at line 67 of file avl.h.
◆ AVL_FORWARD
Definition at line 58 of file avl.h.
◆ avl_is_member
#define avl_is_member |
( |
|
tree, |
|
|
|
key |
|
) |
| avl_lookup(tree, key, (void **) 0) |
Definition at line 64 of file avl.h.
◆ AVL_MOST_LEFT
Definition at line 61 of file avl.h.
◆ AVL_MOST_RIGHT
Definition at line 62 of file avl.h.
◆ NIL
#define NIL |
( |
|
type | ) |
(type *) 0 |
Definition at line 65 of file avl.h.
◆ avl_generator
Definition at line 1 of file avl.h.
◆ avl_node
Definition at line 1 of file avl.h.
◆ avl_tree
Definition at line 1 of file avl.h.
◆ avl_check_tree()
◆ avl_count()
◆ avl_delete()
int avl_delete |
( |
avl_tree * |
tree, |
|
|
void ** |
key_p, |
|
|
void ** |
value_p |
|
) |
| |
◆ avl_extremum()
int avl_extremum |
( |
avl_tree * |
tree, |
|
|
int |
side, |
|
|
void ** |
value_p |
|
) |
| |
◆ avl_foreach()
void avl_foreach |
( |
avl_tree * |
tree, |
|
|
void(*)(void *key, void *value) |
func, |
|
|
int |
direction |
|
) |
| |
|
inline |
◆ avl_free_gen()
◆ avl_free_table()
void avl_free_table |
( |
avl_tree * |
tree, |
|
|
void(*)(void *key) |
key_free, |
|
|
void(*)(void *value) |
value_free |
|
) |
| |
◆ avl_gen()
int avl_gen |
( |
avl_generator * |
gen, |
|
|
void ** |
key_p, |
|
|
void ** |
value_p |
|
) |
| |
◆ avl_init_gen()
◆ avl_init_table()
avl_tree* avl_init_table |
( |
int(*)(const void *key1, const void *key2) |
compar | ) |
|
◆ avl_insert()
int avl_insert |
( |
avl_tree * |
tree, |
|
|
void * |
key, |
|
|
void * |
value |
|
) |
| |
◆ avl_lookup()
int avl_lookup |
( |
avl_tree * |
tree, |
|
|
void * |
key, |
|
|
void ** |
value_p |
|
) |
| |
◆ avl_numcmp()
int avl_numcmp |
( |
const void * |
x, |
|
|
const void * |
y |
|
) |
| |
◆ avl_walk_backward()
void avl_walk_backward |
( |
avl_node * |
node, |
|
|
void(*)(void *key, void *value) |
func |
|
) |
| |
|
inline |
◆ avl_walk_forward()
void avl_walk_forward |
( |
avl_node * |
node, |
|
|
void(*)(void *key, void *value) |
func |
|
) |
| |
|
inline |