Lines Matching refs:parent
81 node->parent = NULL; in lv_rb_insert()
89 lv_rb_node_t * parent = rb_find_leaf_parent(tree, node); in lv_rb_insert() local
91 node->parent = parent; in lv_rb_insert()
94 if(tree->compare(key, parent->data) < 0) parent->left = node; in lv_rb_insert()
95 else parent->right = node; in lv_rb_insert()
132 lv_rb_node_t * parent = NULL; in lv_rb_remove_node() local
139 if(node->parent != NULL) { in lv_rb_remove_node()
140 if(node->parent->left == node) { in lv_rb_remove_node()
141 node->parent->left = replace; in lv_rb_remove_node()
144 node->parent->right = replace; in lv_rb_remove_node()
152 parent = replace->parent; in lv_rb_remove_node()
155 if(parent == node) { in lv_rb_remove_node()
156 parent = replace; in lv_rb_remove_node()
160 child->parent = parent; in lv_rb_remove_node()
162 parent->left = child; in lv_rb_remove_node()
164 node->right->parent = replace; in lv_rb_remove_node()
167 replace->parent = node->parent; in lv_rb_remove_node()
170 node->left->parent = replace; in lv_rb_remove_node()
173 rb_delete_color(tree, child, parent); in lv_rb_remove_node()
182 parent = node->parent; in lv_rb_remove_node()
186 child->parent = parent; in lv_rb_remove_node()
189 if(parent != NULL) { in lv_rb_remove_node()
190 if(parent->left == node) { in lv_rb_remove_node()
191 parent->left = child; in lv_rb_remove_node()
194 parent->right = child; in lv_rb_remove_node()
202 rb_delete_color(tree, child, parent); in lv_rb_remove_node()
266 lv_rb_node_t * parent = NULL; in lv_rb_destroy() local
276 parent = node->parent; in lv_rb_destroy()
277 if(parent != NULL) { in lv_rb_destroy()
278 if(parent->left == node) { in lv_rb_destroy()
279 parent->left = NULL; in lv_rb_destroy()
282 parent->right = NULL; in lv_rb_destroy()
287 node = parent; in lv_rb_destroy()
358 lv_rb_node_t * parent = current; in rb_find_leaf_parent() local
361 parent = current; in rb_find_leaf_parent()
371 return parent; in rb_find_leaf_parent()
380 left->right->parent = node; in rb_right_rotate()
383 left->parent = node->parent; in rb_right_rotate()
385 if(node->parent == NULL) { in rb_right_rotate()
388 else if(node == node->parent->right) { in rb_right_rotate()
389 node->parent->right = left; in rb_right_rotate()
392 node->parent->left = left; in rb_right_rotate()
396 node->parent = left; in rb_right_rotate()
405 right->left->parent = node; in rb_left_rotate()
408 right->parent = node->parent; in rb_left_rotate()
410 if(node->parent == NULL) { in rb_left_rotate()
413 else if(node == node->parent->left) { in rb_left_rotate()
414 node->parent->left = right; in rb_left_rotate()
417 node->parent->right = right; in rb_left_rotate()
421 node->parent = right; in rb_left_rotate()
426 lv_rb_node_t * parent = NULL; in rb_insert_color() local
429 while((parent = node->parent) && parent->color == LV_RB_COLOR_RED) { in rb_insert_color()
430 gparent = parent->parent; in rb_insert_color()
432 if(parent == gparent->left) { in rb_insert_color()
437 parent->color = LV_RB_COLOR_BLACK; in rb_insert_color()
444 if(parent->right == node) { in rb_insert_color()
446 rb_left_rotate(tree, parent); in rb_insert_color()
447 tmp = parent; in rb_insert_color()
448 parent = node; in rb_insert_color()
452 parent->color = LV_RB_COLOR_BLACK; in rb_insert_color()
461 parent->color = LV_RB_COLOR_BLACK; in rb_insert_color()
468 if(parent->left == node) { in rb_insert_color()
470 rb_right_rotate(tree, parent); in rb_insert_color()
471 tmp = parent; in rb_insert_color()
472 parent = node; in rb_insert_color()
476 parent->color = LV_RB_COLOR_BLACK; in rb_insert_color()
506 node2 = node2->parent; in rb_delete_color()
536 node2 = node2->parent; in rb_delete_color()