Lines Matching refs:rb_tree
149 } rb_tree; typedef
156 void rbtree_init(rb_tree *tree);
163 rb_tree *rbtree_construct(void);
169 extern void rbtree_clean(rb_tree *tree, destructor d);
175 extern void rbtree_destruct(rb_tree *tree, destructor d);
182 extern int rbtree_size(rb_tree *tree);
189 extern int rbtree_depth(rb_tree *tree);
197 extern int rbtree_contains(rb_tree *tree, datatype object);
205 extern rb_node *rbtree_insert(rb_tree *tree, datatype object);
212 extern rb_node *insert_successor_at(rb_tree *tree, rb_node *at_node,
220 extern rb_node *insert_predecessor_at(rb_tree *tree, rb_node *at_node,
229 extern void rbtree_remove(rb_tree *tree, datatype object, destructor d);
236 extern rb_node *rbtree_minimum(rb_tree *tree);
243 extern rb_node *rbtree_maximum(rb_tree *tree);
251 extern rb_node *rbtree_successor(rb_tree *tree, rb_node *node);
260 extern rb_node *rbtree_predecessor(rb_tree *tree, rb_node *node);
269 extern rb_node *rbtree_find(rb_tree *tree, datatype object);
276 extern void rbtree_remove_at(rb_tree *tree, rb_node *node, destructor d);
283 extern void rbtree_rotate_left(rb_tree *tree, rb_node *node);
290 extern void rbtree_rotate_right(rb_tree *tree, rb_node *node);
299 extern void rbtree_insert_fixup(rb_tree *tree, rb_node *node);
306 extern void rbtree_remove_fixup(rb_tree *tree, rb_node *node);
314 extern void rbtree_traverse(rb_tree *tree, opr *op);