Lines Matching refs:rb_node
38 static inline void rb_set_black(struct rb_node *rb) in rb_set_black()
43 static inline struct rb_node *rb_red_parent(struct rb_node *red) in rb_red_parent()
45 return (struct rb_node *)red->__rb_parent_color; in rb_red_parent()
54 __rb_rotate_set_parents(struct rb_node *old, struct rb_node *new, in __rb_rotate_set_parents()
57 struct rb_node *parent = rb_parent(old); in __rb_rotate_set_parents()
64 __rb_insert(struct rb_node *node, struct rb_root *root, in __rb_insert()
65 void (*augment_rotate)(struct rb_node *old, struct rb_node *new)) in __rb_insert()
67 struct rb_node *parent = rb_red_parent(node), *gparent, *tmp; in __rb_insert()
193 ____rb_erase_color(struct rb_node *parent, struct rb_root *root, in ____rb_erase_color()
194 void (*augment_rotate)(struct rb_node *old, struct rb_node *new)) in ____rb_erase_color()
196 struct rb_node *node = NULL, *sibling, *tmp1, *tmp2; in ____rb_erase_color()
355 void __rb_erase_color(struct rb_node *parent, struct rb_root *root, in __rb_erase_color()
356 void (*augment_rotate)(struct rb_node *old, struct rb_node *new)) in __rb_erase_color()
369 static inline void dummy_propagate(struct rb_node *node, struct rb_node *stop) {} in dummy_propagate()
370 static inline void dummy_copy(struct rb_node *old, struct rb_node *new) {} in dummy_copy()
371 static inline void dummy_rotate(struct rb_node *old, struct rb_node *new) {} in dummy_rotate()
377 void rb_insert_color(struct rb_node *node, struct rb_root *root) in rb_insert_color()
383 void rb_erase(struct rb_node *node, struct rb_root *root) in rb_erase()
385 struct rb_node *rebalance; in rb_erase()
399 void __rb_insert_augmented(struct rb_node *node, struct rb_root *root, in __rb_insert_augmented()
400 void (*augment_rotate)(struct rb_node *old, struct rb_node *new)) in __rb_insert_augmented()
409 struct rb_node *rb_first(const struct rb_root *root) in rb_first()
411 struct rb_node *n; in rb_first()
413 n = root->rb_node; in rb_first()
422 struct rb_node *rb_last(const struct rb_root *root) in rb_last()
424 struct rb_node *n; in rb_last()
426 n = root->rb_node; in rb_last()
435 struct rb_node *rb_next(const struct rb_node *node) in rb_next()
437 struct rb_node *parent; in rb_next()
450 return (struct rb_node *)node; in rb_next()
467 struct rb_node *rb_prev(const struct rb_node *node) in rb_prev()
469 struct rb_node *parent; in rb_prev()
482 return (struct rb_node *)node; in rb_prev()
496 void rb_replace_node(struct rb_node *victim, struct rb_node *new, in rb_replace_node()
499 struct rb_node *parent = rb_parent(victim); in rb_replace_node()
513 static struct rb_node *rb_left_deepest_node(const struct rb_node *node) in rb_left_deepest_node()
521 return (struct rb_node *)node; in rb_left_deepest_node()
525 struct rb_node *rb_next_postorder(const struct rb_node *node) in rb_next_postorder()
527 const struct rb_node *parent; in rb_next_postorder()
540 return (struct rb_node *)parent; in rb_next_postorder()
544 struct rb_node *rb_first_postorder(const struct rb_root *root) in rb_first_postorder()
546 if (!root->rb_node) in rb_first_postorder()
549 return rb_left_deepest_node(root->rb_node); in rb_first_postorder()