| 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 | 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 | 
| #define TAVL_MAX_HEIGHT 92 | 
Definition at line 51 of file tavl.h.
Referenced by tavl_probe().
| typedef int tavl_comparison_func(const void *tavl_a, const void *tavl_b, void *tavl_param) | 
| typedef void* tavl_copy_func(void *tavl_item, void *tavl_param) | 
| typedef void tavl_item_func(void *tavl_item, void *tavl_param) | 
| void* tavl_assert_delete | ( | struct tavl_table * | , | 
| void * | |||
| ) | 
Definition at line 918 of file tavl.c.
References assert, NULL, and tavl_delete().
| void tavl_assert_insert | ( | struct tavl_table * | , | 
| void * | |||
| ) | 
| struct tavl_table* tavl_copy | ( | const struct tavl_table * | , | 
| tavl_copy_func * | , | ||
| tavl_item_func * | , | ||
| struct libavl_allocator * | |||
| ) | 
Definition at line 791 of file tavl.c.
References assert, NULL, tavl_table::tavl_alloc, TAVL_CHILD, tavl_table::tavl_compare, tavl_table::tavl_count, tavl_create(), tavl_node::tavl_link, tavl_table::tavl_param, tavl_table::tavl_root, tavl_node::tavl_tag, and TAVL_THREAD.
| struct tavl_table* tavl_create | ( | tavl_comparison_func * | , | 
| void * | , | ||
| struct libavl_allocator * | |||
| ) | 
Definition at line 37 of file tavl.c.
Referenced by tavl_copy().
| void* tavl_delete | ( | struct tavl_table * | , | 
| const void * | |||
| ) | 
Definition at line 305 of file tavl.c.
Referenced by tavl_assert_delete().
| void tavl_destroy | ( | struct tavl_table * | , | 
| tavl_item_func * | |||
| ) | 
Definition at line 857 of file tavl.c.
References libavl_allocator::libavl_free, 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.
| void* tavl_find | ( | const struct tavl_table * | , | 
| const void * | |||
| ) | 
Definition at line 62 of file tavl.c.
References assert, NULL, and tavl_table::tavl_root.
| void tavl_free | ( | struct libavl_allocator * | , | 
| void * | |||
| ) | 
| void* tavl_insert | ( | struct tavl_table * | , | 
| void * | |||
| ) | 
| void* tavl_malloc | ( | struct libavl_allocator * | , | 
| size_t | |||
| ) | 
| void** tavl_probe | ( | struct tavl_table * | , | 
| void * | |||
| ) | 
Definition at line 90 of file tavl.c.
References assert, NULL, TAVL_MAX_HEIGHT, and tavl_table::tavl_root.
Referenced by tavl_t_insert().
| void* tavl_replace | ( | struct tavl_table * | , | 
| void * | |||
| ) | 
| void* tavl_t_copy | ( | struct tavl_traverser * | , | 
| const struct tavl_traverser * | |||
| ) | 
| void* tavl_t_cur | ( | struct tavl_traverser * | ) | 
Definition at line 710 of file tavl.c.
References assert, NULL, tavl_node::tavl_data, and tavl_traverser::tavl_node.
| void* tavl_t_find | ( | struct tavl_traverser * | , | 
| struct tavl_table * | , | ||
| void * | |||
| ) | 
Definition at line 593 of file tavl.c.
References assert, NULL, tavl_traverser::tavl_node, tavl_table::tavl_root, and tavl_traverser::tavl_table.
| void* tavl_t_first | ( | struct tavl_traverser * | , | 
| struct tavl_table * | |||
| ) | 
Definition at line 555 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_node::tavl_data, tavl_node::tavl_link, tavl_traverser::tavl_node, tavl_table::tavl_root, tavl_traverser::tavl_table, and tavl_node::tavl_tag.
Referenced by tavl_t_next().
| void tavl_t_init | ( | struct tavl_traverser * | , | 
| struct tavl_table * | |||
| ) | 
Definition at line 546 of file tavl.c.
References NULL, tavl_traverser::tavl_node, and tavl_traverser::tavl_table.
Referenced by tavl_t_insert().
| void* tavl_t_insert | ( | struct tavl_traverser * | , | 
| struct tavl_table * | , | ||
| void * | |||
| ) | 
Definition at line 633 of file tavl.c.
References assert, NULL, tavl_node::tavl_data, tavl_traverser::tavl_node, tavl_probe(), tavl_t_init(), and tavl_traverser::tavl_table.
| void* tavl_t_last | ( | struct tavl_traverser * | , | 
| struct tavl_table * | |||
| ) | 
Definition at line 573 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_node::tavl_data, tavl_node::tavl_link, tavl_traverser::tavl_node, tavl_table::tavl_root, tavl_traverser::tavl_table, and tavl_node::tavl_tag.
Referenced by tavl_t_prev().
| void* tavl_t_next | ( | struct tavl_traverser * | ) | 
Definition at line 670 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_node::tavl_data, tavl_node::tavl_link, tavl_traverser::tavl_node, tavl_t_first(), tavl_traverser::tavl_table, tavl_node::tavl_tag, and TAVL_THREAD.
| void* tavl_t_prev | ( | struct tavl_traverser * | ) | 
Definition at line 691 of file tavl.c.
References assert, NULL, TAVL_CHILD, tavl_node::tavl_data, tavl_node::tavl_link, tavl_traverser::tavl_node, tavl_t_last(), tavl_traverser::tavl_table, tavl_node::tavl_tag, and TAVL_THREAD.
| void* tavl_t_replace | ( | struct tavl_traverser * | , | 
| void * | |||
| ) | 
Definition at line 720 of file tavl.c.
References assert, NULL, tavl_node::tavl_data, and tavl_traverser::tavl_node.
| struct libavl_allocator tavl_allocator_default |