struct lexbor_avl_node lexbor_avl_node_t
LXB_API lexbor_avl_node_t * lexbor_avl_search(lexbor_avl_t *avl, lexbor_avl_node_t *scope, size_t type)
lxb_status_t(* lexbor_avl_node_f)(lexbor_avl_t *avl, lexbor_avl_node_t **root, lexbor_avl_node_t *node, void *ctx)
LXB_API void lexbor_avl_clean(lexbor_avl_t *avl)
LXB_API lxb_status_t lexbor_avl_foreach(lexbor_avl_t *avl, lexbor_avl_node_t **scope, lexbor_avl_node_f cb, void *ctx)
LXB_API void lexbor_avl_remove_by_node(lexbor_avl_t *avl, lexbor_avl_node_t **root, lexbor_avl_node_t *node)
LXB_API void * lexbor_avl_remove(lexbor_avl_t *avl, lexbor_avl_node_t **scope, size_t type)
LXB_API void lexbor_avl_foreach_recursion(lexbor_avl_t *avl, lexbor_avl_node_t *scope, lexbor_avl_node_f callback, void *ctx)
LXB_API void lexbor_avl_node_clean(lexbor_avl_node_t *node)
LXB_API lexbor_avl_t * lexbor_avl_create(void)
LXB_API lexbor_avl_node_t * lexbor_avl_insert(lexbor_avl_t *avl, lexbor_avl_node_t **scope, size_t type, void *value)
LXB_API lexbor_avl_node_t * lexbor_avl_node_make(lexbor_avl_t *avl, size_t type, void *value)
LXB_API lexbor_avl_t * lexbor_avl_destroy(lexbor_avl_t *avl, bool self_destroy)
LXB_API lexbor_avl_node_t * lexbor_avl_node_destroy(lexbor_avl_t *avl, lexbor_avl_node_t *node, bool self_destroy)
struct lexbor_avl lexbor_avl_t
LXB_API lxb_status_t lexbor_avl_init(lexbor_avl_t *avl, size_t chunk_len, size_t struct_size)
lexbor_avl_node_t * parent
lexbor_avl_node_t * right
lexbor_avl_node_t * last_right
unsigned int lxb_status_t