Lines Matching full:tree

37 static GTreeNode *page_range_tree_insert_new(PageRangeTree tree,  in page_range_tree_insert_new()  argument
48 return g_tree_insert_node(tree.t, key, range); in page_range_tree_insert_new()
51 void hvb_page_range_tree_insert(PageRangeTree tree, in hvb_page_range_tree_insert() argument
65 node = g_tree_upper_bound(tree.t, &start); in hvb_page_range_tree_insert()
69 node = g_tree_node_last(tree.t); in hvb_page_range_tree_insert()
82 * !node case: the tree is empty or the very first node in the tree in hvb_page_range_tree_insert()
84 * the other case: there is a gap in the tree between the new range in hvb_page_range_tree_insert()
86 * anyway, let's just insert the new range into the tree. in hvb_page_range_tree_insert()
88 node = page_range_tree_insert_new(tree, start, count); in hvb_page_range_tree_insert()
94 * the previous range in the tree either partially covers the new in hvb_page_range_tree_insert()
132 g_tree_remove(tree.t, &start); in hvb_page_range_tree_insert()
136 bool hvb_page_range_tree_pop(PageRangeTree tree, PageRange *out, in hvb_page_range_tree_pop() argument
142 node = g_tree_node_last(tree.t); in hvb_page_range_tree_pop()
160 g_tree_remove(tree.t, &out->start); in hvb_page_range_tree_pop()
166 bool hvb_page_range_tree_intree_any(PageRangeTree tree, in hvb_page_range_tree_intree_any() argument
176 node = g_tree_upper_bound(tree.t, &start); in hvb_page_range_tree_intree_any()
179 * a NULL node below means that the very first node in the tree in hvb_page_range_tree_intree_any()
184 /* a NULL node below means that the tree is empty */ in hvb_page_range_tree_intree_any()
185 node = g_tree_node_last(tree.t); in hvb_page_range_tree_intree_any()
191 node = g_tree_node_first(tree.t); in hvb_page_range_tree_intree_any()
214 void hvb_page_range_tree_init(PageRangeTree *tree) in hvb_page_range_tree_init() argument
216 tree->t = g_tree_new_full(page_range_tree_key_compare, NULL, in hvb_page_range_tree_init()
220 void hvb_page_range_tree_destroy(PageRangeTree *tree) in hvb_page_range_tree_destroy() argument
223 if (!tree->t) { in hvb_page_range_tree_destroy()
227 g_tree_destroy(tree->t); in hvb_page_range_tree_destroy()
228 tree->t = NULL; in hvb_page_range_tree_destroy()