Lines Matching refs:parent

70 rbe_set(struct rb_entry *rbe, struct rb_entry *parent)
72 RBE_PARENT(rbe) = parent;
101 struct rb_entry *parent;
109 parent = RBE_PARENT(rbe);
110 RBE_PARENT(tmp) = parent;
111 if (parent != NULL) {
112 if (rbe == RBE_LEFT(parent))
113 RBE_LEFT(parent) = tmp;
115 RBE_RIGHT(parent) = tmp;
125 parent = RBE_PARENT(tmp);
126 if (parent != NULL)
127 rbe_augment(t, parent);
135 struct rb_entry *parent;
143 parent = RBE_PARENT(rbe);
144 RBE_PARENT(tmp) = parent;
145 if (parent != NULL) {
146 if (rbe == RBE_LEFT(parent))
147 RBE_LEFT(parent) = tmp;
149 RBE_RIGHT(parent) = tmp;
159 parent = RBE_PARENT(tmp);
160 if (parent != NULL)
161 rbe_augment(t, parent);
169 struct rb_entry *parent, *gparent, *tmp;
171 while ((parent = RBE_PARENT(rbe)) != NULL &&
172 RBE_COLOR(parent) == RB_RED) {
173 gparent = RBE_PARENT(parent);
175 if (parent == RBE_LEFT(gparent)) {
179 rbe_set_blackred(parent, gparent);
184 if (RBE_RIGHT(parent) == rbe) {
185 rbe_rotate_left(t, rbt, parent);
186 tmp = parent;
187 parent = rbe;
191 rbe_set_blackred(parent, gparent);
197 rbe_set_blackred(parent, gparent);
202 if (RBE_LEFT(parent) == rbe) {
203 rbe_rotate_right(t, rbt, parent);
204 tmp = parent;
205 parent = rbe;
209 rbe_set_blackred(parent, gparent);
219 struct rb_entry *parent, struct rb_entry *rbe)
225 if (RBE_LEFT(parent) == rbe) {
226 tmp = RBE_RIGHT(parent);
228 rbe_set_blackred(tmp, parent);
229 rbe_rotate_left(t, rbt, parent);
230 tmp = RBE_RIGHT(parent);
237 rbe = parent;
238 parent = RBE_PARENT(rbe);
250 tmp = RBE_RIGHT(parent);
253 RBE_COLOR(tmp) = RBE_COLOR(parent);
254 RBE_COLOR(parent) = RB_BLACK;
258 rbe_rotate_left(t, rbt, parent);
263 tmp = RBE_LEFT(parent);
265 rbe_set_blackred(tmp, parent);
266 rbe_rotate_right(t, rbt, parent);
267 tmp = RBE_LEFT(parent);
275 rbe = parent;
276 parent = RBE_PARENT(rbe);
288 tmp = RBE_LEFT(parent);
291 RBE_COLOR(tmp) = RBE_COLOR(parent);
292 RBE_COLOR(parent) = RB_BLACK;
296 rbe_rotate_right(t, rbt, parent);
310 struct rb_entry *child, *parent, *old = rbe;
325 parent = RBE_PARENT(rbe);
328 RBE_PARENT(child) = parent;
329 if (parent != NULL) {
330 if (RBE_LEFT(parent) == rbe)
331 RBE_LEFT(parent) = child;
333 RBE_RIGHT(parent) = child;
335 rbe_if_augment(t, parent);
339 parent = rbe;
357 if (t->t_augment != NULL && parent != NULL) {
358 tmp = parent;
368 parent = RBE_PARENT(rbe);
372 RBE_PARENT(child) = parent;
373 if (parent != NULL) {
374 if (RBE_LEFT(parent) == rbe)
375 RBE_LEFT(parent) = child;
377 RBE_RIGHT(parent) = child;
379 rbe_if_augment(t, parent);
384 rbe_remove_color(t, rbt, parent, child);
405 struct rb_entry *parent = NULL;
411 parent = tmp;
423 rbe_set(rbe, parent);
425 if (parent != NULL) {
427 RBE_LEFT(parent) = rbe;
429 RBE_RIGHT(parent) = rbe;
431 rbe_if_augment(t, parent);
546 struct rb_entry *parent = NULL;
549 parent = rbe;
553 return (parent == NULL ? NULL : rb_e2n(t, parent));
560 struct rb_entry *parent = NULL;
563 parent = rbe;
567 return (parent == NULL ? NULL : rb_e2n(t, parent));
613 _rb_set_parent(const struct rb_type *t, void *node, void *parent)
616 struct rb_entry *rbp = (parent == NULL) ? NULL : rb_n2e(t, parent);