aboutsummaryrefslogtreecommitdiff
path: root/commitquery/priority_queue.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-29 14:15:30 +0000
committerGravatar Runxi Yu2026-03-29 14:15:30 +0000
commite0e493fbf197aabf9272e52ab0e7282e308bcdeb (patch)
tree183f4bc7db4489b5a276a3fbd614b3c3ac1b2276 /commitquery/priority_queue.go
parentinternal/priorityqueue: Actually just make our own priority queue (diff)
signatureNo signature
commitquery: Use our proper priority queue thingy
Diffstat (limited to 'commitquery/priority_queue.go')
-rw-r--r--commitquery/priority_queue.go32
1 files changed, 0 insertions, 32 deletions
diff --git a/commitquery/priority_queue.go b/commitquery/priority_queue.go
deleted file mode 100644
index 7b85e563..00000000
--- a/commitquery/priority_queue.go
+++ /dev/null
@@ -1,32 +0,0 @@
-package commitquery
-
-import internalheap "codeberg.org/lindenii/furgit/internal/heap"
-
-// priorityQueue orders internal nodes using one query context's comparator.
-type priorityQueue struct {
- items *internalheap.Heap[nodeIndex]
-}
-
-// newPriorityQueue builds one empty priority queue over one query context.
-func newPriorityQueue(query *query) *priorityQueue {
- return &priorityQueue{
- items: internalheap.New(func(left, right nodeIndex) bool {
- return query.compare(left, right) > 0
- }),
- }
-}
-
-// Len reports the number of queued items.
-func (queue *priorityQueue) Len() int {
- return queue.items.Len()
-}
-
-// PushNode inserts one internal node.
-func (queue *priorityQueue) PushNode(idx nodeIndex) {
- queue.items.Push(idx)
-}
-
-// PopNode removes the highest-priority internal node.
-func (queue *priorityQueue) PopNode() (nodeIndex, bool) {
- return queue.items.Pop()
-}