acl
3.5.3.0
|
宏定义 | |
#define | AVL_BEFORE (0) |
#define | AVL_AFTER (1) |
#define | AVL_NEXT(tree, node) avl_walk(tree, node, AVL_AFTER) |
#define | AVL_PREV(tree, node) avl_walk(tree, node, AVL_BEFORE) |
类型定义 | |
typedef struct avl_tree | avl_tree_t |
typedef struct avl_node | avl_node_t |
typedef uintptr_t | avl_index_t |
函数 | |
ACL_API void | avl_create (avl_tree_t *tree, int(*compar)(const void *, const void *), size_t size, size_t offset) |
ACL_API void * | avl_find (avl_tree_t *tree, void *node, avl_index_t *where) |
ACL_API void | avl_insert (avl_tree_t *tree, void *node, avl_index_t where) |
ACL_API void | avl_insert_here (avl_tree_t *tree, void *new_data, void *here, int direction) |
ACL_API void * | avl_first (avl_tree_t *tree) |
ACL_API void * | avl_last (avl_tree_t *tree) |
ACL_API void * | avl_nearest (avl_tree_t *tree, avl_index_t where, int direction) |
ACL_API void | avl_add (avl_tree_t *tree, void *node) |
ACL_API void | avl_remove (avl_tree_t *tree, void *node) |
ACL_API acl_boolean_t | avl_update (avl_tree_t *, void *) |
ACL_API acl_boolean_t | avl_update_lt (avl_tree_t *, void *) |
ACL_API acl_boolean_t | avl_update_gt (avl_tree_t *, void *) |
ACL_API ulong_t | avl_numnodes (avl_tree_t *tree) |
ACL_API acl_boolean_t | avl_is_empty (avl_tree_t *tree) |
ACL_API void * | avl_destroy_nodes (avl_tree_t *tree, void **cookie) |
ACL_API void | avl_destroy (avl_tree_t *tree) |
#define AVL_PREV | ( | tree, | |
node | |||
) | avl_walk(tree, node, AVL_BEFORE) |
typedef uintptr_t avl_index_t |
typedef struct avl_node avl_node_t |
typedef struct avl_tree avl_tree_t |
ACL_API void avl_add | ( | avl_tree_t * | tree, |
void * | node | ||
) |
ACL_API void avl_create | ( | avl_tree_t * | tree, |
int(*)(const void *, const void *) | compar, | ||
size_t | size, | ||
size_t | offset | ||
) |
ACL_API void avl_destroy | ( | avl_tree_t * | tree | ) |
ACL_API void* avl_destroy_nodes | ( | avl_tree_t * | tree, |
void ** | cookie | ||
) |
ACL_API void* avl_find | ( | avl_tree_t * | tree, |
void * | node, | ||
avl_index_t * | where | ||
) |
ACL_API void* avl_first | ( | avl_tree_t * | tree | ) |
ACL_API void avl_insert | ( | avl_tree_t * | tree, |
void * | node, | ||
avl_index_t | where | ||
) |
ACL_API void avl_insert_here | ( | avl_tree_t * | tree, |
void * | new_data, | ||
void * | here, | ||
int | direction | ||
) |
ACL_API acl_boolean_t avl_is_empty | ( | avl_tree_t * | tree | ) |
ACL_API void* avl_last | ( | avl_tree_t * | tree | ) |
ACL_API void* avl_nearest | ( | avl_tree_t * | tree, |
avl_index_t | where, | ||
int | direction | ||
) |
ACL_API ulong_t avl_numnodes | ( | avl_tree_t * | tree | ) |
ACL_API void avl_remove | ( | avl_tree_t * | tree, |
void * | node | ||
) |
ACL_API acl_boolean_t avl_update | ( | avl_tree_t * | , |
void * | |||
) |
ACL_API acl_boolean_t avl_update_gt | ( | avl_tree_t * | , |
void * | |||
) |
ACL_API acl_boolean_t avl_update_lt | ( | avl_tree_t * | , |
void * | |||
) |