37 }
else if (cmprc > 0) {
100 }
else if (cmprc > 0) {
static void xwlib_bclst_add_front(struct xwlib_bclst_node *newn, struct xwlib_bclst_node *next)
将一个节点加入到另一个节点的前面
static void xwlib_bclst_add_head(struct xwlib_bclst_node *head, struct xwlib_bclst_node *newn)
将一个节点加入链表头部(链表头的后面)
static void xwlib_bclst_del_init(struct xwlib_bclst_node *node)
删除一个节点,并重新初始化它
static void xwlib_bclst_add_behind(struct xwlib_bclst_node *newn, struct xwlib_bclst_node *prev)
将一个节点加入到另一个节点的后面
#define EEXIST
File exists
#define ESRCH
No such process
xwer_t xwlib_map_find(struct xwlib_map *map, void *key, struct xwlib_map_container **mcbuf)
根据 键值 查找容器
xwer_t xwlib_map_insert(struct xwlib_map *map, struct xwlib_map_container *newmc)
插入键值对容器
xwer_t xwlib_map_erase(struct xwlib_map *map, struct xwlib_map_container *mc)
删除键值对容器
#define xwlib_rbtree_tst_left(lpc)
测试当前lpc中的位置信息是否为左侧
static bool xwlib_rbtree_tst_link_root(struct xwlib_rbtree *rbt, struct xwlib_rbtree_node **link)
测试是否连接到根节点(是否为根节点的子节点)
static bool xwlib_rbtree_tst_node_unlinked(struct xwlib_rbtree_node *n)
测试红黑树节点是否已经链接到红黑树中
static void xwlib_rbtree_init_node(struct xwlib_rbtree_node *rbn)
初始化红黑树节点
#define xwlib_rbtree_get_link(lpc)
获取lpc信息中的link指针
void xwlib_rbtree_insert_color(struct xwlib_rbtree *tree, struct xwlib_rbtree_node *node)
插入一个红色节点后修正红黑树的颜色
static struct xwlib_rbtree_node * xwlib_rbtree_get_parent_from_lpc(xwptr_t lpc)
从lpc信息返回父节点指针
#define xwlib_rbtree_entry(ptr, type, member)
从红黑树节点指针值计算出包含该节点成员的外层结构体的指针值
void xwlib_rbtree_remove(struct xwlib_rbtree *tree, struct xwlib_rbtree_node *node)
删除一个节点,并修正红黑树的颜色
static void xwlib_rbtree_link(struct xwlib_rbtree_node *node, xwptr_t lpc)
链接节点,并设置位置及颜色信息
struct xwlib_bclst_node bcln
struct xwlib_rbtree_node rbn
struct xwlib_rbtree rbtree
struct xwlib_bclst_node bclh
struct xwlib_rbtree_node * left
struct xwlib_rbtree_node * right
struct xwlib_rbtree_node * root