|
GRASS 8 Programmer's Manual 8.6.0dev(2026)-1d1e47ad9d
|
#include <stddef.h>

Go to the source code of this file.
Data Structures | |
| struct | libavl_allocator |
| struct | tavl_table |
| struct | tavl_node |
| struct | tavl_traverser |
Macros | |
| #define | LIBAVL_ALLOCATOR |
| #define | TAVL_MAX_HEIGHT 92 |
| #define | tavl_count(table) ((size_t)(table)->tavl_count) |
Typedefs | |
| typedef int | tavl_comparison_func(const void *tavl_a, const void *tavl_b, void *tavl_param) |
| typedef void | tavl_item_func(void *tavl_item, void *tavl_param) |
| typedef void * | tavl_copy_func(void *tavl_item, void *tavl_param) |
Enumerations | |
| enum | tavl_tag { TAVL_CHILD , TAVL_THREAD } |
Variables | |
| struct libavl_allocator | tavl_allocator_default |
| void * tavl_assert_delete | ( | struct tavl_table * | table, |
| void * | item | ||
| ) |
Definition at line 911 of file tavl.c.
References assert, NULL, and tavl_delete().
| void tavl_assert_insert | ( | struct tavl_table * | table, |
| void * | item | ||
| ) |
Definition at line 902 of file tavl.c.
References assert, NULL, and tavl_probe().
| struct tavl_table * tavl_copy | ( | const struct tavl_table * | org, |
| tavl_copy_func * | copy, | ||
| tavl_item_func * | destroy, | ||
| struct libavl_allocator * | allocator | ||
| ) |
Definition at line 787 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_create(), tavl_node::tavl_link, tavl_node::tavl_tag, and TAVL_THREAD.
| struct tavl_table * tavl_create | ( | tavl_comparison_func * | compare, |
| void * | param, | ||
| struct libavl_allocator * | allocator | ||
| ) |
Definition at line 37 of file tavl.c.
References assert, compare(), NULL, tavl_table::tavl_alloc, tavl_allocator_default, tavl_table::tavl_compare, tavl_table::tavl_count, tavl_table::tavl_param, and tavl_table::tavl_root.
Referenced by tavl_copy().
| void * tavl_delete | ( | struct tavl_table * | tree, |
| const void * | item | ||
| ) |
Definition at line 305 of file tavl.c.
References assert, NULL, r, t, tavl_table::tavl_alloc, tavl_node::tavl_balance, TAVL_CHILD, tavl_table::tavl_compare, tavl_table::tavl_count, tavl_node::tavl_data, tavl_node::tavl_link, tavl_table::tavl_param, tavl_table::tavl_root, tavl_node::tavl_tag, TAVL_THREAD, and x.
Referenced by tavl_assert_delete().
| void tavl_destroy | ( | struct tavl_table * | tree, |
| tavl_item_func * | destroy | ||
| ) |
Definition at line 853 of file tavl.c.
References NULL, tavl_table::tavl_alloc, TAVL_CHILD, tavl_node::tavl_data, tavl_node::tavl_link, tavl_table::tavl_param, tavl_table::tavl_root, and tavl_node::tavl_tag.
Definition at line 62 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_table::tavl_compare, tavl_node::tavl_data, tavl_node::tavl_link, tavl_table::tavl_param, tavl_table::tavl_root, and tavl_node::tavl_tag.
| void tavl_free | ( | struct libavl_allocator * | allocator, |
| void * | block | ||
| ) |
| void * tavl_insert | ( | struct tavl_table * | table, |
| void * | item | ||
| ) |
Definition at line 243 of file tavl.c.
References NULL, and tavl_probe().
| void * tavl_malloc | ( | struct libavl_allocator * | allocator, |
| size_t | size | ||
| ) |
| void ** tavl_probe | ( | struct tavl_table * | tree, |
| void * | item | ||
| ) |
Definition at line 90 of file tavl.c.
References assert, NULL, tavl_table::tavl_alloc, tavl_node::tavl_balance, TAVL_CHILD, tavl_table::tavl_compare, tavl_table::tavl_count, tavl_node::tavl_data, tavl_node::tavl_link, TAVL_MAX_HEIGHT, tavl_table::tavl_param, tavl_table::tavl_root, tavl_node::tavl_tag, TAVL_THREAD, and x.
Referenced by tavl_assert_insert(), tavl_insert(), tavl_replace(), and tavl_t_insert().
| void * tavl_replace | ( | struct tavl_table * | table, |
| void * | item | ||
| ) |
Definition at line 254 of file tavl.c.
References NULL, r, and tavl_probe().
| void * tavl_t_copy | ( | struct tavl_traverser * | trav, |
| const struct tavl_traverser * | src | ||
| ) |
Definition at line 656 of file tavl.c.
References assert, NULL, tavl_traverser::tavl_node, and tavl_traverser::tavl_table.
| void * tavl_t_cur | ( | struct tavl_traverser * | trav | ) |
| void * tavl_t_find | ( | struct tavl_traverser * | trav, |
| struct tavl_table * | tree, | ||
| void * | item | ||
| ) |
Definition at line 593 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_table::tavl_compare, tavl_node::tavl_data, tavl_node::tavl_link, tavl_table::tavl_param, tavl_table::tavl_root, and tavl_node::tavl_tag.
| void * tavl_t_first | ( | struct tavl_traverser * | trav, |
| struct tavl_table * | tree | ||
| ) |
Definition at line 555 of file tavl.c.
References assert, NULL, TAVL_CHILD, and tavl_table::tavl_root.
Referenced by tavl_t_next().
| void tavl_t_init | ( | struct tavl_traverser * | trav, |
| struct tavl_table * | tree | ||
| ) |
| void * tavl_t_insert | ( | struct tavl_traverser * | trav, |
| struct tavl_table * | tree, | ||
| void * | item | ||
| ) |
Definition at line 633 of file tavl.c.
References assert, NULL, tavl_node::tavl_data, tavl_probe(), and tavl_t_init().
| void * tavl_t_last | ( | struct tavl_traverser * | trav, |
| struct tavl_table * | tree | ||
| ) |
Definition at line 573 of file tavl.c.
References assert, NULL, TAVL_CHILD, and tavl_table::tavl_root.
Referenced by tavl_t_prev().
| void * tavl_t_next | ( | struct tavl_traverser * | trav | ) |
Definition at line 669 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_t_first(), and TAVL_THREAD.
| void * tavl_t_prev | ( | struct tavl_traverser * | trav | ) |
Definition at line 690 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_t_last(), and TAVL_THREAD.
| void * tavl_t_replace | ( | struct tavl_traverser * | trav, |
| void * | new | ||
| ) |
|
extern |
Definition at line 896 of file tavl.c.
Referenced by tavl_create().