Lines Matching refs:left
70 * does not have any left children, this returns @n.
78 while (n->left)
79 n = n->left;
145 if (n->left)
146 return c_rbnode_rightmost(n->left);
148 while ((p = c_rbnode_parent(n)) && n == p->left)
220 if (p->left == old)
221 p->left = new;
261 } else if (p == p->__parent_and_color->left) { /* parent is red, so grandparent exists */
282 * become left child, so we can handle it the
284 x = n->left;
285 p->right = n->left;
286 n->left = p;
297 * We're the red left child or a red parent, black
304 g->left = x;
312 } else /* if (p == p->__parent_and_color->left) */ { /* same as above, but mirrored */
315 u = g->left;
323 if (n == p->left) {
325 p->left = n->right;
335 x = p->left;
337 p->left = g;
361 * @l: left/right slot of @p (or root) to link at
378 * i = &(*i)->left;
394 * i = (*i)->left;
412 assert(!p || l == &p->left || l == &p->right);
416 n->left = n->right = NULL;
427 * remove a black node and one path is now left with an unbalanced
434 if (n == p->left) {
442 x = s->left;
444 s->left = p;
454 y = s->left;
475 s->left = y->right;
485 * The right child of our sibling is red. Rotate left and flip
489 y = s->left;
491 s->left = p;
499 s = p->left;
503 p->left = x;
512 x = s->left;
524 x = y->left;
525 s->right = y->left;
526 y->left = s;
527 p->left = y;
536 p->left = y;
606 if (!n->left) {
609 * The node has no left child. If it neither has a right child,
615 * non-existing left path), and the node to be removed must
630 * The node has exactly one child, and it is on the left. Treat
636 c_rbtree_swap_child(t, p, n, n->left);
637 c_rbnode_set_parent_and_color(n->left, p, c);
648 if (!s->left) {
658 p->left = s->right;
664 s->left = n->left;
665 c_rbnode_set_parent(n->left, s);