EdisonCore-1.2.1.1: A library of efficent, purely-functional data structures (Core Implementations)Source codeContentsIndex
Data.Edison.Coll.MinHeap
PortabilityGHC, Hugs (MPTC and FD)
Stabilitystable
Maintainerrobdockins AT fastmail DOT fm
Contents
Min heap adaptor type
CollX operations
Coll operations
OrdCollX operations
OrdColl operations
Other supported operations
Documentation
Description
A generic adaptor for bags to keep the minimum element separately.
Synopsis
data Min h a
empty :: Min h a
singleton :: (CollX h a, Ord a) => a -> Min h a
fromSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h a
insert :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h a
insertSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h a -> Min h a
union :: (OrdCollX h a, Ord a) => Min h a -> Min h a -> Min h a
unionSeq :: (OrdColl h a, Ord a, Sequence s) => s (Min h a) -> Min h a
delete :: (OrdColl h a, Ord a) => a -> Min h a -> Min h a
deleteAll :: (OrdColl h a, Ord a) => a -> Min h a -> Min h a
deleteSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h a -> Min h a
null :: Min h a -> Bool
size :: CollX h a => Min h a -> Int
member :: (CollX h a, Ord a) => a -> Min h a -> Bool
count :: (CollX h a, Ord a) => a -> Min h a -> Int
strict :: (CollX h a, Ord a) => Min h a -> Min h a
structuralInvariant :: (Ord a, OrdColl h a) => Min h a -> Bool
toSeq :: (Coll h a, Sequence s) => Min h a -> s a
lookup :: (Coll h a, Ord a) => a -> Min h a -> a
lookupM :: (Coll h a, Ord a, Monad m) => a -> Min h a -> m a
lookupAll :: (Coll h a, Ord a, Sequence s) => a -> Min h a -> s a
lookupWithDefault :: (Coll h a, Ord a) => a -> a -> Min h a -> a
fold :: Coll h a => (a -> b -> b) -> b -> Min h a -> b
fold' :: Coll h a => (a -> b -> b) -> b -> Min h a -> b
fold1 :: Coll h a => (a -> a -> a) -> Min h a -> a
fold1' :: Coll h a => (a -> a -> a) -> Min h a -> a
filter :: OrdColl h a => (a -> Bool) -> Min h a -> Min h a
partition :: OrdColl h a => (a -> Bool) -> Min h a -> (Min h a, Min h a)
strictWith :: OrdColl h a => (a -> b) -> Min h a -> Min h a
deleteMin :: (OrdColl h a, Ord a) => Min h a -> Min h a
deleteMax :: (OrdCollX h a, Ord a) => Min h a -> Min h a
unsafeInsertMin :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h a
unsafeInsertMax :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h a
unsafeFromOrdSeq :: (OrdCollX h a, Ord a, Sequence s) => s a -> Min h a
unsafeAppend :: (OrdCollX h a, Ord a) => Min h a -> Min h a -> Min h a
filterLT :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h a
filterLE :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h a
filterGT :: (OrdColl h a, Ord a) => a -> Min h a -> Min h a
filterGE :: (OrdColl h a, Ord a) => a -> Min h a -> Min h a
partitionLT_GE :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)
partitionLE_GT :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)
partitionLT_GT :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)
minView :: (OrdColl h a, Ord a, Monad m) => Min h a -> m (a, Min h a)
minElem :: (OrdColl h a, Ord a) => Min h a -> a
maxView :: (OrdColl h a, Ord a, Monad m) => Min h a -> m (a, Min h a)
maxElem :: (OrdColl h a, Ord a) => Min h a -> a
foldr :: (OrdColl h a, Ord a) => (a -> b -> b) -> b -> Min h a -> b
foldr' :: (OrdColl h a, Ord a) => (a -> b -> b) -> b -> Min h a -> b
foldl :: (OrdColl h a, Ord a) => (b -> a -> b) -> b -> Min h a -> b
foldl' :: (OrdColl h a, Ord a) => (b -> a -> b) -> b -> Min h a -> b
foldr1 :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> a
foldr1' :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> a
foldl1 :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> a
foldl1' :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> a
toOrdSeq :: (OrdColl h a, Ord a, Sequence s) => Min h a -> s a
unsafeMapMonotonic :: (OrdColl h a, Ord a) => (a -> a) -> Min h a -> Min h a
toColl :: OrdColl h a => Min h a -> h
fromColl :: OrdColl h a => h -> Min h a
Min heap adaptor type
data Min h a Source
show/hide Instances
(Eq h, Eq a) => Eq (Min h a)
(Eq h, OrdColl h a) => Ord (Min h a)
(OrdColl h a, Read h) => Read (Min h a)
(OrdColl h a, Show h) => Show (Min h a)
OrdColl h a => Monoid (Min h a)
(OrdColl h a, Arbitrary h, Arbitrary a) => Arbitrary (Min h a)
(OrdColl h a, Ord a) => CollX (Min h a) a
(OrdColl h a, Ord a) => OrdCollX (Min h a) a
(OrdColl h a, Ord a) => Coll (Min h a) a
(OrdColl h a, Ord a) => OrdColl (Min h a) a
CollX operations
empty :: Min h aSource
singleton :: (CollX h a, Ord a) => a -> Min h aSource
fromSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h aSource
insert :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h aSource
insertSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h a -> Min h aSource
union :: (OrdCollX h a, Ord a) => Min h a -> Min h a -> Min h aSource
unionSeq :: (OrdColl h a, Ord a, Sequence s) => s (Min h a) -> Min h aSource
delete :: (OrdColl h a, Ord a) => a -> Min h a -> Min h aSource
deleteAll :: (OrdColl h a, Ord a) => a -> Min h a -> Min h aSource
deleteSeq :: (OrdColl h a, Ord a, Sequence s) => s a -> Min h a -> Min h aSource
null :: Min h a -> BoolSource
size :: CollX h a => Min h a -> IntSource
member :: (CollX h a, Ord a) => a -> Min h a -> BoolSource
count :: (CollX h a, Ord a) => a -> Min h a -> IntSource
strict :: (CollX h a, Ord a) => Min h a -> Min h aSource
structuralInvariant :: (Ord a, OrdColl h a) => Min h a -> BoolSource
Coll operations
toSeq :: (Coll h a, Sequence s) => Min h a -> s aSource
lookup :: (Coll h a, Ord a) => a -> Min h a -> aSource
lookupM :: (Coll h a, Ord a, Monad m) => a -> Min h a -> m aSource
lookupAll :: (Coll h a, Ord a, Sequence s) => a -> Min h a -> s aSource
lookupWithDefault :: (Coll h a, Ord a) => a -> a -> Min h a -> aSource
fold :: Coll h a => (a -> b -> b) -> b -> Min h a -> bSource
fold' :: Coll h a => (a -> b -> b) -> b -> Min h a -> bSource
fold1 :: Coll h a => (a -> a -> a) -> Min h a -> aSource
fold1' :: Coll h a => (a -> a -> a) -> Min h a -> aSource
filter :: OrdColl h a => (a -> Bool) -> Min h a -> Min h aSource
partition :: OrdColl h a => (a -> Bool) -> Min h a -> (Min h a, Min h a)Source
strictWith :: OrdColl h a => (a -> b) -> Min h a -> Min h aSource
OrdCollX operations
deleteMin :: (OrdColl h a, Ord a) => Min h a -> Min h aSource
deleteMax :: (OrdCollX h a, Ord a) => Min h a -> Min h aSource
unsafeInsertMin :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h aSource
unsafeInsertMax :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h aSource
unsafeFromOrdSeq :: (OrdCollX h a, Ord a, Sequence s) => s a -> Min h aSource
unsafeAppend :: (OrdCollX h a, Ord a) => Min h a -> Min h a -> Min h aSource
filterLT :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h aSource
filterLE :: (OrdCollX h a, Ord a) => a -> Min h a -> Min h aSource
filterGT :: (OrdColl h a, Ord a) => a -> Min h a -> Min h aSource
filterGE :: (OrdColl h a, Ord a) => a -> Min h a -> Min h aSource
partitionLT_GE :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)Source
partitionLE_GT :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)Source
partitionLT_GT :: (OrdColl h a, Ord a) => a -> Min h a -> (Min h a, Min h a)Source
OrdColl operations
minView :: (OrdColl h a, Ord a, Monad m) => Min h a -> m (a, Min h a)Source
minElem :: (OrdColl h a, Ord a) => Min h a -> aSource
maxView :: (OrdColl h a, Ord a, Monad m) => Min h a -> m (a, Min h a)Source
maxElem :: (OrdColl h a, Ord a) => Min h a -> aSource
foldr :: (OrdColl h a, Ord a) => (a -> b -> b) -> b -> Min h a -> bSource
foldr' :: (OrdColl h a, Ord a) => (a -> b -> b) -> b -> Min h a -> bSource
foldl :: (OrdColl h a, Ord a) => (b -> a -> b) -> b -> Min h a -> bSource
foldl' :: (OrdColl h a, Ord a) => (b -> a -> b) -> b -> Min h a -> bSource
foldr1 :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> aSource
foldr1' :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> aSource
foldl1 :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> aSource
foldl1' :: (OrdColl h a, Ord a) => (a -> a -> a) -> Min h a -> aSource
toOrdSeq :: (OrdColl h a, Ord a, Sequence s) => Min h a -> s aSource
unsafeMapMonotonic :: (OrdColl h a, Ord a) => (a -> a) -> Min h a -> Min h aSource
Other supported operations
toColl :: OrdColl h a => Min h a -> hSource
fromColl :: OrdColl h a => h -> Min h aSource
Documentation
Produced by Haddock version 2.3.0