priority-queue-0.1.2: Simple implementation of a priority queue.Source codeContentsIndex
Data.PriorityQueue
Synopsis
Enqueue (enqueue)
Dequeue (dequeue, dequeueBatch)
DequeueWhere (dequeueWhere)
PeekQueue (peekQueue, peekQueueTaking)
QueueSize (queueSize)
data PQ a
emptyPQ :: Ord p => (a -> p) -> PQ a
mkPriorityQueue :: ModifyRef sr m (PQ a) => sr -> PriorityQueue m a
mkDefaultPriorityQueue :: (DefaultStateRef sr m (PQ a), ModifyRef sr m (PQ a)) => sr -> PriorityQueue m a
data PriorityQueue m a
newPriorityQueue :: (DefaultStateRef sr m1 (PQ a), ModifyRef sr m1 (PQ a), NewRef sr m (PQ a), Ord p) => (a -> p) -> m (PriorityQueue m1 a)
newPriorityQueueBy :: (DefaultStateRef sr m1 (PQ a), ModifyRef sr m1 (PQ a), NewRef sr m (PQ a)) => (a -> a -> Ordering) -> m (PriorityQueue m1 a)
Documentation
Enqueue (enqueue)
Dequeue (dequeue, dequeueBatch)
DequeueWhere (dequeueWhere)
PeekQueue (peekQueue, peekQueueTaking)
QueueSize (queueSize)
data PQ a Source
The pure type at the chewy center.
emptyPQ :: Ord p => (a -> p) -> PQ aSource
A new empty PQ
mkPriorityQueue :: ModifyRef sr m (PQ a) => sr -> PriorityQueue m aSource
Build a priority queue from a modifiable reference containing a PQ
mkDefaultPriorityQueue :: (DefaultStateRef sr m (PQ a), ModifyRef sr m (PQ a)) => sr -> PriorityQueue m aSource
Build a priority queue using an instance of the default modifiable reference for the requested monad and value type
data PriorityQueue m a Source
A priority queue usable in the monad m with values of type a
show/hide Instances
newPriorityQueue :: (DefaultStateRef sr m1 (PQ a), ModifyRef sr m1 (PQ a), NewRef sr m (PQ a), Ord p) => (a -> p) -> m (PriorityQueue m1 a)Source
Construct a new priority queue using the specified indexing function
newPriorityQueueBy :: (DefaultStateRef sr m1 (PQ a), ModifyRef sr m1 (PQ a), NewRef sr m (PQ a)) => (a -> a -> Ordering) -> m (PriorityQueue m1 a)Source
Construct a new priority queue using a comparator function. It is the user's responsibility to ensure that this function provides a sensible order.
Produced by Haddock version 2.4.2