Go to the source code of this file.
|
void | rb_tree_init (rb_tree_t *rt) |
|
rb_node_index_t | rb_tree_add (rb_tree_t *rt, u32 key) |
|
rb_node_index_t | rb_tree_add2 (rb_tree_t *rt, u32 key, uword opaque) |
|
rb_node_index_t | rb_tree_add_custom (rb_tree_t *rt, u32 key, uword opaque, rb_tree_lt_fn ltfn) |
|
void | rb_tree_del (rb_tree_t *rt, u32 key) |
|
void | rb_tree_del_custom (rb_tree_t *rt, u32 key, rb_tree_lt_fn ltfn) |
|
void | rb_tree_free_nodes (rb_tree_t *rt) |
|
u32 | rb_tree_n_nodes (rb_tree_t *rt) |
|
rb_node_t * | rb_tree_min_subtree (rb_tree_t *rt, rb_node_t *x) |
|
rb_node_t * | rb_tree_max_subtree (rb_tree_t *rt, rb_node_t *x) |
|
rb_node_t * | rb_tree_search_subtree (rb_tree_t *rt, rb_node_t *x, u32 key) |
|
rb_node_t * | rb_tree_search_subtree_custom (rb_tree_t *rt, rb_node_t *x, u32 key, rb_tree_lt_fn ltfn) |
|
rb_node_t * | rb_tree_successor (rb_tree_t *rt, rb_node_t *x) |
|
rb_node_t * | rb_tree_predecessor (rb_tree_t *rt, rb_node_t *x) |
|
static rb_node_index_t | rb_node_index (rb_tree_t *rt, rb_node_t *n) |
|
static u8 | rb_node_is_tnil (rb_tree_t *rt, rb_node_t *n) |
|
static rb_node_t * | rb_node (rb_tree_t *rt, rb_node_index_t ri) |
|
static rb_node_t * | rb_node_right (rb_tree_t *rt, rb_node_t *n) |
|
static rb_node_t * | rb_node_left (rb_tree_t *rt, rb_node_t *n) |
|
static rb_node_t * | rb_node_parent (rb_tree_t *rt, rb_node_t *n) |
|
#define RBTREE_TNIL_INDEX 0 |
typedef int(* rb_tree_lt_fn) (u32 a, u32 b) |
Enumerator |
---|
RBTREE_RED |
|
RBTREE_BLACK |
|
Definition at line 26 of file rbtree.h.