Lines Matching refs:que

52 	compare(queue_t que, entry_t a, entry_t b);
58 compare(queue_t que, priority_queue_entry_t e1, priority_queue_entry_t e2) in compare()
60 return que->pq_cmp_fn(e1, e2); in compare()
67 compare(queue_t que __unused, in compare()
77 compare(queue_t que __unused, in compare()
87 compare(queue_t que __unused, in compare()
149 merge_parent_is_subtree_b(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_parent_is_subtree_b()
152 return entry_traits::compare(que, subtree_a, subtree_b) > 0; in merge_parent_is_subtree_b()
154 return entry_traits::compare(que, subtree_a, subtree_b) < 0; in merge_parent_is_subtree_b()
158 merge_pair_inline(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_pair_inline()
168 if (merge_parent_is_subtree_b(que, subtree_a, subtree_b)) { in merge_pair_inline()
189 merge_pair(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_pair()
191 return merge_pair_inline(que, subtree_a, subtree_b); in merge_pair()
196 meld_pair(queue_t que, entry_t elt) in meld_pair()
220 entry_t pair = merge_pair_inline(que, pair_item_a, pair_item_b); in meld_pair()
229 pq_meld_result = merge_pair_inline(que, pq_meld_result, pair_list); in meld_pair()
262 sift_down(queue_t que, entry_t elt) in sift_down()
264 bool was_root = (que->pq_root == elt); in sift_down()
267 remove_non_root(que, elt); in sift_down()
268 insert(que, elt, false); in sift_down()
270 remove_root(que, elt); in sift_down()
271 insert(que, elt, false); in sift_down()
287 sift_up(queue_t que, entry_t elt) in sift_up()
289 if (elt == que->pq_root) { in sift_up()
296 return insert(que, elt, false); in sift_up()
300 remove_non_root(queue_t que, entry_t elt) in remove_non_root()
313 child = meld_pair(que, child); in remove_non_root()
314 new_root = merge_pair(que, que->pq_root, child); in remove_non_root()
315 que->pq_root = new_root; in remove_non_root()
330 destroy(queue_t que, uintptr_t offset, void (^callback)(void *e))
333 entry_t head = que->pq_root;
351 que->pq_root = (entry_t)(~0ul);
355 insert(queue_t que, entry_t elt, bool clear = true) in insert()
361 return (que->pq_root = merge_pair(que, que->pq_root, elt)) == elt; in insert()
365 remove_root(queue_t que, entry_t old_root) in remove_root()
370 que->pq_root = meld_pair(que, new_root); in remove_root()
373 que->pq_root = NULL; in remove_root()
379 remove(queue_t que, entry_t elt) in remove()
381 if (elt == que->pq_root) { in remove()
382 remove_root(que, elt); in remove()
385 remove_non_root(que, elt); in remove()
391 entry_increased(queue_t que, entry_t elt) in entry_increased()
393 if (priority_queue_is_max_heap(que)) { in entry_increased()
394 return sift_up(que, elt); in entry_increased()
396 return sift_down(que, elt); in entry_increased()
401 entry_decreased(queue_t que, entry_t elt) in entry_decreased()
403 if (priority_queue_is_min_heap(que)) { in entry_decreased()
404 return sift_up(que, elt); in entry_decreased()
406 return sift_down(que, elt); in entry_decreased()
420 _priority_queue_destroy(queue_t que, uintptr_t offset, void (^cb)(void *e)) \
422 pqueue_t::destroy(que, offset, cb); \
426 priority_queue_insert(queue_t que, entry_t elt) \
428 return pqueue_t::insert(que, elt); \
432 _priority_queue_remove_root(queue_t que) \
434 return pqueue_t::remove_root(que, que->pq_root); \
438 priority_queue_remove(queue_t que, entry_t elt) \
440 return pqueue_t::remove(que, elt); \
444 priority_queue_entry_decreased(queue_t que, entry_t elt) \
446 return pqueue_t::entry_decreased(que, elt); \
450 priority_queue_entry_increased(queue_t que, entry_t elt) \
452 return pqueue_t::entry_increased(que, elt); \