vpq-0.1.0.0: Priority queue based on vector
Safe HaskellNone
LanguageHaskell2010

Data.PriorityQueue

Documentation

data PQ v k a Source #

singleton :: Vector v (k, a) => k -> a -> PQ v k a Source #

insert :: (Ord k, Vector v (k, a)) => k -> a -> PQ v k a -> PQ v k a Source #

minView :: (Ord k, Vector v (k, a)) => PQ v k a -> Maybe (a, PQ v k a) Source #

minViewWithKey :: (Ord k, Vector v (k, a)) => PQ v k a -> Maybe (k, a, PQ v k a) Source #

minAlterWithKeyF :: (Ord k, Vector v (k, a), Functor f) => (Maybe (k, a) -> f (Maybe (k, a))) -> PQ v k a -> f (PQ v k a) Source #

from :: (Ord k, Vector v (k, a), Foldable f) => f (k, a) -> PQ v k a Source #

toOrdList :: (Ord k, Vector v (k, a)) => PQ v k a -> [(k, a)] Source #

mapMaybeWithKeyA :: (Ord k, Vector v (k, a), Vector v (k, b), Applicative p) => (k -> a -> p (Maybe (k, b))) -> PQ v k a -> p (PQ v k b) Source #

foldMapWithKey :: (Ord k, Vector v (k, a)) => Monoid b => (k -> a -> b) -> PQ v k a -> b Source #

toV :: PQ v k a -> v (k, a) Source #

foldrWithKey :: (Ord k, Vector v (k, a)) => (k -> a -> b -> b) -> b -> PQ v k a -> b Source #

foldlWithKey :: (Ord k, Vector v (k, a)) => (k -> b -> a -> b) -> b -> PQ v k a -> b Source #

foldrWithKeyM :: (Ord k, Vector v (k, a)) => Monad m => (k -> a -> b -> m b) -> b -> PQ v k a -> m b Source #

foldlWithKeyM :: (Ord k, Vector v (k, a)) => Monad m => (k -> b -> a -> m b) -> b -> PQ v k a -> m b Source #