GRASS Programmer's Manual
6.5.svn(2014)-r66266
|
#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 32 |
#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 32 |
Definition at line 53 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 894 of file tavl.c.
References NULL, and tavl_delete().
void tavl_assert_insert | ( | struct tavl_table * | , |
void * | |||
) |
Definition at line 885 of file tavl.c.
References NULL, and tavl_probe().
struct tavl_table* tavl_copy | ( | const struct tavl_table * | , |
tavl_copy_func * | , | ||
tavl_item_func * | , | ||
struct libavl_allocator * | |||
) |
Definition at line 773 of file tavl.c.
References NULL, forms::q, 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 34 of file tavl.c.
References libavl_allocator::libavl_malloc, 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 * | , |
const void * | |||
) |
Definition at line 302 of file tavl.c.
References for(), libavl_allocator::libavl_free, NULL, forms::q, r, dialogs::s, 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, dialogs::w, and y.
Referenced by tavl_assert_delete().
void tavl_destroy | ( | struct tavl_table * | , |
tavl_item_func * | |||
) |
Definition at line 837 of file tavl.c.
References libavl_allocator::libavl_free, n, 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 59 of file tavl.c.
References 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 * | , |
void * | |||
) |
void* tavl_insert | ( | struct tavl_table * | , |
void * | |||
) |
Definition at line 241 of file tavl.c.
References NULL, and tavl_probe().
void* tavl_malloc | ( | struct libavl_allocator * | , |
size_t | |||
) |
void** tavl_probe | ( | struct tavl_table * | , |
void * | |||
) |
Definition at line 88 of file tavl.c.
References if(), libavl_allocator::libavl_malloc, n, NULL, forms::q, 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, dialogs::w, and y.
Referenced by tavl_assert_insert(), tavl_insert(), tavl_replace(), and tavl_t_insert().
void* tavl_replace | ( | struct tavl_table * | , |
void * | |||
) |
Definition at line 252 of file tavl.c.
References NULL, r, and tavl_probe().
void* tavl_t_copy | ( | struct tavl_traverser * | , |
const struct tavl_traverser * | |||
) |
Definition at line 642 of file tavl.c.
References NULL, tavl_node::tavl_data, tavl_traverser::tavl_node, and tavl_traverser::tavl_table.
void* tavl_t_cur | ( | struct tavl_traverser * | ) |
Definition at line 696 of file tavl.c.
References NULL, tavl_node::tavl_data, and tavl_traverser::tavl_node.
void* tavl_t_find | ( | struct tavl_traverser * | , |
struct tavl_table * | , | ||
void * | |||
) |
Definition at line 582 of file tavl.c.
References NULL, TAVL_CHILD, tavl_table::tavl_compare, tavl_node::tavl_data, tavl_node::tavl_link, tavl_traverser::tavl_node, tavl_table::tavl_param, tavl_table::tavl_root, tavl_traverser::tavl_table, and tavl_node::tavl_tag.
void* tavl_t_first | ( | struct tavl_traverser * | , |
struct tavl_table * | |||
) |
Definition at line 544 of file tavl.c.
References 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 535 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 620 of file tavl.c.
References 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 562 of file tavl.c.
References 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 656 of file tavl.c.
References 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 677 of file tavl.c.
References 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 706 of file tavl.c.
References NULL, old, tavl_node::tavl_data, and tavl_traverser::tavl_node.
struct libavl_allocator tavl_allocator_default |
Definition at line 879 of file tavl.c.
Referenced by tavl_create().