acl  3.5.3.0
acl_avl.h 文件参考
#include "acl_define.h"
#include <sys/types.h>
#include "avl_impl.h"
+ acl_avl.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#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)
 

宏定义说明

◆ AVL_AFTER

#define AVL_AFTER   (1)

在文件 acl_avl.h133 行定义.

◆ AVL_BEFORE

#define AVL_BEFORE   (0)

在文件 acl_avl.h132 行定义.

◆ AVL_NEXT

#define AVL_NEXT (   tree,
  node 
)    avl_walk(tree, node, AVL_AFTER)

在文件 acl_avl.h212 行定义.

◆ AVL_PREV

#define AVL_PREV (   tree,
  node 
)    avl_walk(tree, node, AVL_BEFORE)

在文件 acl_avl.h213 行定义.

类型定义说明

◆ avl_index_t

在文件 acl_avl.h126 行定义.

◆ avl_node_t

typedef struct avl_node avl_node_t

在文件 acl_avl.h113 行定义.

◆ avl_tree_t

typedef struct avl_tree avl_tree_t

在文件 acl_avl.h108 行定义.

函数说明

◆ avl_add()

ACL_API void avl_add ( avl_tree_t tree,
void *  node 
)

◆ avl_create()

ACL_API void avl_create ( avl_tree_t tree,
int(*)(const void *, const void *)  compar,
size_t  size,
size_t  offset 
)

◆ avl_destroy()

ACL_API void avl_destroy ( avl_tree_t tree)

◆ avl_destroy_nodes()

ACL_API void* avl_destroy_nodes ( avl_tree_t tree,
void **  cookie 
)

◆ avl_find()

ACL_API void* avl_find ( avl_tree_t tree,
void *  node,
avl_index_t where 
)

◆ avl_first()

ACL_API void* avl_first ( avl_tree_t tree)

◆ avl_insert()

ACL_API void avl_insert ( avl_tree_t tree,
void *  node,
avl_index_t  where 
)

◆ avl_insert_here()

ACL_API void avl_insert_here ( avl_tree_t tree,
void *  new_data,
void *  here,
int  direction 
)

◆ avl_is_empty()

ACL_API acl_boolean_t avl_is_empty ( avl_tree_t tree)

◆ avl_last()

ACL_API void* avl_last ( avl_tree_t tree)

◆ avl_nearest()

ACL_API void* avl_nearest ( avl_tree_t tree,
avl_index_t  where,
int  direction 
)

◆ avl_numnodes()

ACL_API ulong_t avl_numnodes ( avl_tree_t tree)

◆ avl_remove()

ACL_API void avl_remove ( avl_tree_t tree,
void *  node 
)

◆ avl_update()

ACL_API acl_boolean_t avl_update ( avl_tree_t ,
void *   
)

◆ avl_update_gt()

ACL_API acl_boolean_t avl_update_gt ( avl_tree_t ,
void *   
)

◆ avl_update_lt()

ACL_API acl_boolean_t avl_update_lt ( avl_tree_t ,
void *   
)