Lines Matching refs:nodes
21 * Roll nodes[1] into nodes[0] by advancing nodes[1] to the end of a contiguous
22 * span of nodes. This makes nodes[0]->last the end of that contiguous used span
23 * indexes that started at the original nodes[1]->start. nodes[1] is now the
24 * first node starting the next used span. A hole span is between nodes[0]->last
25 * and nodes[1]->start. nodes[1] must be !NULL.
30 struct interval_tree_node *cur = state->nodes[1];
32 state->nodes[0] = cur;
34 if (cur->last > state->nodes[0]->last)
35 state->nodes[0] = cur;
38 } while (cur && (state->nodes[0]->last >= cur->start ||
39 state->nodes[0]->last + 1 == cur->start));
40 state->nodes[1] = cur;
50 iter->nodes[0] = NULL;
51 iter->nodes[1] =
53 if (!iter->nodes[1]) {
54 /* No nodes intersect the span, whole span is hole */
60 if (iter->nodes[1]->start > first_index) {
63 iter->last_hole = iter->nodes[1]->start - 1;
73 iter->last_used = iter->nodes[0]->last;
76 iter->nodes[0] = NULL;
77 iter->nodes[1] = NULL;
84 if (!iter->nodes[0] && !iter->nodes[1]) {
91 iter->last_used = iter->nodes[0]->last;
94 iter->nodes[0] = NULL;
95 iter->nodes[1] = NULL;
101 if (!iter->nodes[1]) {
103 iter->start_hole = iter->nodes[0]->last + 1;
105 iter->nodes[0] = NULL;
110 /* must have both nodes[0] and [1], interior hole */
111 iter->start_hole = iter->nodes[0]->last + 1;
112 iter->last_hole = iter->nodes[1]->start - 1;