Lines Matching defs:which
321 * Swap the location and colors of 'self' and its child @ which. The child
329 struct rb_node *old_father, const unsigned int which)
331 const unsigned int other = which ^ RB_DIR_OTHER;
333 struct rb_node * const old_child = old_father->rb_nodes[which];
337 KASSERT(which == RB_DIR_LEFT || which == RB_DIR_RIGHT);
351 new_child->rb_nodes[which] = old_child->rb_nodes[other];
380 if (!RB_SENTINEL_P(new_child->rb_nodes[which])) {
381 RB_SET_FATHER(new_child->rb_nodes[which], new_child);
382 RB_SET_POSITION(new_child->rb_nodes[which], which);
397 unsigned int which;
417 which = (father == grandpa->rb_right);
418 other = which ^ RB_DIR_OTHER;
471 KASSERT(self->rb_nodes[which] == father);
477 KASSERT(grandpa->rb_nodes[which] == father);
484 rb_tree_reparent_nodes(rbt, grandpa, which);
500 const unsigned int which = RB_POSITION(self);
515 father->rb_nodes[which] = self->rb_left;
542 rb_tree_removal_rebalance(rbt, father, which);
697 * rb_tree_node_swap(rbt, self, which);
704 unsigned int which)
707 struct rb_node *son = self->rb_nodes[which];
712 KASSERT(which == RB_DIR_LEFT || which == RB_DIR_RIGHT);
735 KASSERT(rbt->rbt_minmax[which] == son);
736 rbt->rbt_minmax[which ^ RB_DIR_OTHER] = son;
752 unsigned int which;
789 which = RB_LEFT_SENTINEL_P(self) ? RB_DIR_RIGHT : RB_DIR_LEFT;
791 KASSERT(RB_RED_P(self->rb_nodes[which]));
792 KASSERT(RB_CHILDLESS_P(self->rb_nodes[which]));
793 rb_tree_prune_blackred_branch(rbt, self, which);
802 which = RB_POSITION(self) ^ RB_DIR_OTHER;
808 standin = RB_ITEMTONODE(rbto, rb_tree_iterate(rbt, object, which));
814 unsigned int which)
817 KASSERT(RB_SENTINEL_P(parent->rb_nodes[which]));
818 KASSERT(which == RB_DIR_LEFT || which == RB_DIR_RIGHT);
821 while (RB_BLACK_P(parent->rb_nodes[which])) {
822 unsigned int other = which ^ RB_DIR_OTHER;
840 * has a red child which is case 3; thus no
872 which = RB_POSITION(parent);
909 KASSERT(RB_RED_P(brother->rb_nodes[which]) ||
923 KASSERT(RB_RED_P(brother->rb_nodes[which]));
924 rb_tree_reparent_nodes(rbt, brother, which);
1187 const unsigned int which = RB_POSITION(self);
1188 const unsigned int other = which ^ RB_DIR_OTHER;
1197 KASSERT(RB_SENTINEL_P(relative->rb_nodes[which]));