EdisonCore-1.2.1: A library of efficient, purely-functional data structures (Core Implementations)ContentsIndex
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
show/hide Instances
(OrdColl h a, Arbitrary h, Arbitrary a) => Arbitrary (Min h a)
(Eq a, Eq h) => Eq (Min h a)
OrdColl h a => Monoid (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, Ord a) => Coll (Min h a) a
(OrdColl h a, Ord a) => CollX (Min h a) a
(OrdColl h a, Ord a) => OrdColl (Min h a) a
(OrdColl h a, Ord a) => OrdCollX (Min h a) a
CollX operations
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
Coll operations
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
OrdCollX operations
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)
OrdColl operations
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
Other supported operations
toColl :: OrdColl h a => Min h a -> h
fromColl :: OrdColl h a => h -> Min h a
Documentation
Produced by Haddock version 0.8