|
GRASS GIS 7 Programmer's Manual
7.9.dev(2021)-e5379bbd7
|
#include <stddef.h>

Go to the source code of this file.
Data Structures | |
| struct | libavl_allocator |
| struct | avl_table |
| struct | avl_node |
| struct | avl_traverser |
Macros | |
| #define | LIBAVL_ALLOCATOR |
| #define | AVL_MAX_HEIGHT 92 |
| #define | avl_count(table) ((size_t) (table)->avl_count) |
Typedefs | |
| typedef int | avl_comparison_func(const void *avl_a, const void *avl_b, void *avl_param) |
| typedef void | avl_item_func(void *avl_item, void *avl_param) |
| typedef void * | avl_copy_func(void *avl_item, void *avl_param) |
Functions | |
| void * | avl_malloc (struct libavl_allocator *, size_t) |
| void | avl_free (struct libavl_allocator *, void *) |
| struct avl_table * | avl_create (avl_comparison_func *, void *, struct libavl_allocator *) |
| struct avl_table * | avl_copy (const struct avl_table *, avl_copy_func *, avl_item_func *, struct libavl_allocator *) |
| void | avl_destroy (struct avl_table *, avl_item_func *) |
| void ** | avl_probe (struct avl_table *, void *) |
| void * | avl_insert (struct avl_table *, void *) |
| void * | avl_replace (struct avl_table *, void *) |
| void * | avl_delete (struct avl_table *, const void *) |
| void * | avl_find (const struct avl_table *, const void *) |
| void | avl_assert_insert (struct avl_table *, void *) |
| void * | avl_assert_delete (struct avl_table *, void *) |
| void | avl_t_init (struct avl_traverser *, struct avl_table *) |
| void * | avl_t_first (struct avl_traverser *, struct avl_table *) |
| void * | avl_t_last (struct avl_traverser *, struct avl_table *) |
| void * | avl_t_find (struct avl_traverser *, struct avl_table *, void *) |
| void * | avl_t_insert (struct avl_traverser *, struct avl_table *, void *) |
| void * | avl_t_copy (struct avl_traverser *, const struct avl_traverser *) |
| void * | avl_t_next (struct avl_traverser *) |
| void * | avl_t_prev (struct avl_traverser *) |
| void * | avl_t_cur (struct avl_traverser *) |
| void * | avl_t_replace (struct avl_traverser *, void *) |
Variables | |
| struct libavl_allocator | avl_allocator_default |
| #define AVL_MAX_HEIGHT 92 |
Definition at line 51 of file avl.h.
Referenced by avl_copy(), avl_delete(), avl_probe(), avl_t_first(), and avl_t_last().
| typedef int avl_comparison_func(const void *avl_a, const void *avl_b, void *avl_param) |
| void* avl_assert_delete | ( | struct avl_table * | , |
| void * | |||
| ) |
Definition at line 850 of file avl.c.
References assert, avl_delete(), and NULL.
| struct avl_table* avl_copy | ( | const struct avl_table * | , |
| avl_copy_func * | , | ||
| avl_item_func * | , | ||
| struct libavl_allocator * | |||
| ) |
Definition at line 701 of file avl.c.
References AVL_MAX_HEIGHT.
| struct avl_table* avl_create | ( | avl_comparison_func * | , |
| void * | , | ||
| struct libavl_allocator * | |||
| ) |
| void* avl_delete | ( | struct avl_table * | , |
| const void * | |||
| ) |
| void avl_destroy | ( | struct avl_table * | , |
| avl_item_func * | |||
| ) |
Definition at line 790 of file avl.c.
References assert, avl_table::avl_alloc, avl_node::avl_data, avl_node::avl_link, avl_table::avl_param, avl_table::avl_root, libavl_allocator::libavl_free, and NULL.
| void* avl_find | ( | const struct avl_table * | , |
| const void * | |||
| ) |
Definition at line 64 of file avl.c.
References assert, avl_table::avl_root, and NULL.
| void avl_free | ( | struct libavl_allocator * | , |
| void * | |||
| ) |
| void* avl_malloc | ( | struct libavl_allocator * | , |
| size_t | |||
| ) |
| void** avl_probe | ( | struct avl_table * | , |
| void * | |||
| ) |
Definition at line 87 of file avl.c.
References assert, AVL_MAX_HEIGHT, avl_table::avl_root, and NULL.
Referenced by avl_t_insert().
| void* avl_t_copy | ( | struct avl_traverser * | , |
| const struct avl_traverser * | |||
| ) |
| void* avl_t_cur | ( | struct avl_traverser * | ) |
Definition at line 657 of file avl.c.
References assert, avl_node::avl_data, avl_traverser::avl_node, and NULL.
| void* avl_t_find | ( | struct avl_traverser * | , |
| struct avl_table * | , | ||
| void * | |||
| ) |
Definition at line 484 of file avl.c.
References assert, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_height, avl_table::avl_root, avl_traverser::avl_table, and NULL.
| void* avl_t_first | ( | struct avl_traverser * | , |
| struct avl_table * | |||
| ) |
Definition at line 432 of file avl.c.
References assert, avl_node::avl_data, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_height, avl_node::avl_link, AVL_MAX_HEIGHT, avl_traverser::avl_node, avl_table::avl_root, avl_traverser::avl_stack, avl_traverser::avl_table, NULL, and x.
| void avl_t_init | ( | struct avl_traverser * | , |
| struct avl_table * | |||
| ) |
Definition at line 421 of file avl.c.
References avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_height, avl_traverser::avl_node, avl_traverser::avl_table, and NULL.
Referenced by avl_t_insert().
| void* avl_t_insert | ( | struct avl_traverser * | , |
| struct avl_table * | , | ||
| void * | |||
| ) |
Definition at line 521 of file avl.c.
References assert, avl_node::avl_data, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_node, avl_probe(), avl_t_init(), avl_traverser::avl_table, and NULL.
| void* avl_t_last | ( | struct avl_traverser * | , |
| struct avl_table * | |||
| ) |
Definition at line 457 of file avl.c.
References assert, avl_node::avl_data, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_height, avl_node::avl_link, AVL_MAX_HEIGHT, avl_traverser::avl_node, avl_table::avl_root, avl_traverser::avl_stack, avl_traverser::avl_table, NULL, and x.
| void* avl_t_next | ( | struct avl_traverser * | ) |
Definition at line 567 of file avl.c.
References assert, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_table, NULL, and x.
| void* avl_t_prev | ( | struct avl_traverser * | ) |
Definition at line 613 of file avl.c.
References assert, avl_table::avl_generation, avl_traverser::avl_generation, avl_traverser::avl_table, NULL, and x.
| void* avl_t_replace | ( | struct avl_traverser * | , |
| void * | |||
| ) |
Definition at line 667 of file avl.c.
References assert, avl_node::avl_data, avl_traverser::avl_node, and NULL.
| struct libavl_allocator avl_allocator_default |