34 #ifndef LIBAVL_ALLOCATOR
35 #define LIBAVL_ALLOCATOR
49 #ifndef TAVL_MAX_HEIGHT
50 #define TAVL_MAX_HEIGHT 92
96 #define tavl_count(table) ((size_t)(table)->tavl_count)
void(* libavl_free)(struct libavl_allocator *, void *libavl_block)
struct tavl_node * tavl_link[2]
tavl_comparison_func * tavl_compare
struct libavl_allocator * tavl_alloc
struct tavl_node * tavl_root
struct tavl_node * tavl_node
struct tavl_table * tavl_table
void * tavl_insert(struct tavl_table *, void *)
void * tavl_t_prev(struct tavl_traverser *)
void tavl_assert_insert(struct tavl_table *, void *)
void * tavl_t_next(struct tavl_traverser *)
struct libavl_allocator tavl_allocator_default
void tavl_item_func(void *tavl_item, void *tavl_param)
void * tavl_find(const struct tavl_table *, const void *)
void * tavl_t_find(struct tavl_traverser *, struct tavl_table *, void *)
void * tavl_t_cur(struct tavl_traverser *)
void ** tavl_probe(struct tavl_table *, void *)
struct tavl_table * tavl_copy(const struct tavl_table *, tavl_copy_func *, tavl_item_func *, struct libavl_allocator *)
void tavl_t_init(struct tavl_traverser *, struct tavl_table *)
void * tavl_t_replace(struct tavl_traverser *, void *)
void * tavl_t_first(struct tavl_traverser *, struct tavl_table *)
void * tavl_assert_delete(struct tavl_table *, void *)
int tavl_comparison_func(const void *tavl_a, const void *tavl_b, void *tavl_param)
void * tavl_replace(struct tavl_table *, void *)
void * tavl_t_last(struct tavl_traverser *, struct tavl_table *)
void * tavl_copy_func(void *tavl_item, void *tavl_param)
void tavl_free(struct libavl_allocator *, void *)
void * tavl_t_insert(struct tavl_traverser *, struct tavl_table *, void *)
void tavl_destroy(struct tavl_table *, tavl_item_func *)
void * tavl_malloc(struct libavl_allocator *, size_t)
void * tavl_t_copy(struct tavl_traverser *, const struct tavl_traverser *)
struct tavl_table * tavl_create(tavl_comparison_func *, void *, struct libavl_allocator *)
void * tavl_delete(struct tavl_table *, const void *)