Data.EnumMap.Lazy

enummapset-0.7.3.0: IntMap and IntSet with Enum keys/elements.

Copyright | (c) 2011-2019 Michal Terepeta (c) 2019-2022 Mikolaj Konarski and others (see git history)
License | BSD3
Maintainer | mikolaj.konarski@funktory.com
Stability | alpha
Portability | uses DeriveDataTypeable and GeneralizedNewtypeDeriving
Safe Haskell | None
Language | Haskell2010

Data.EnumMap.Lazy

Contents

- Wrapping/unwrapping
- Operators
- Query
- Construction
  - Insertion
  - Delete/Update
- Combine
  - Union
  - Difference
  - Intersection
  - Universal combining function
- Traversal
  - Map
- Folds
  - Strict folds
- Conversion
  - Lists
  - Ordered lists
- Filter
- Submap
- Min/Max

Description

Synopsis

- data EnumMap k a
- intMapToEnumMap :: IntMap a -> EnumMap k a
- enumMapToIntMap :: EnumMap k a -> IntMap a
- (!) :: Enum k => EnumMap k a -> k -> a
- (\\) :: EnumMap k a -> EnumMap k b -> EnumMap k a
- null :: EnumMap k a -> Bool
- size :: EnumMap k a -> Int
- member :: Enum k => k -> EnumMap k a -> Bool
- notMember :: Enum k => k -> EnumMap k a -> Bool
- lookup :: Enum k => k -> EnumMap k a -> Maybe a
- findWithDefault :: Enum k => a -> k -> EnumMap k a -> a
- lookupLT :: Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupGT :: Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupLE :: Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupGE :: Enum k => k -> EnumMap k a -> Maybe (k, a)
- empty :: EnumMap k a
- singleton :: Enum k => k -> a -> EnumMap k a
- insert :: Enum k => k -> a -> EnumMap k a -> EnumMap k a
- insertWith :: Enum k => (a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a
- insertWithKey :: Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a
- insertLookupWithKey :: Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> (Maybe a, EnumMap k a)
- delete :: Enum k => k -> EnumMap k a -> EnumMap k a
- adjust :: Enum k => (a -> a) -> k -> EnumMap k a -> EnumMap k a
- adjustWithKey :: Enum k => (k -> a -> a) -> k -> EnumMap k a -> EnumMap k a
- update :: Enum k => (a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- updateWithKey :: Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- updateLookupWithKey :: Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> (Maybe a, EnumMap k a)
- alter :: Enum k => (Maybe a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a)
- union :: EnumMap k a -> EnumMap k a -> EnumMap k a
- unionWith :: (a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a
- unionWithKey :: Enum k => (k -> a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a
- unions :: [EnumMap k a] -> EnumMap k a
- unionsWith :: (a -> a -> a) -> [EnumMap k a] -> EnumMap k a
- difference :: EnumMap k a -> EnumMap k b -> EnumMap k a
- differenceWith :: (a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a
- differenceWithKey :: Enum k => (k -> a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a
- intersection :: EnumMap k a -> EnumMap k b -> EnumMap k a
- intersectionWith :: (a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c
- intersectionWithKey :: Enum k => (k -> a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c
- mergeWithKey :: Enum k => (k -> a -> b -> Maybe c) -> (EnumMap k a -> EnumMap k c) -> (EnumMap k b -> EnumMap k c) -> EnumMap k a -> EnumMap k b -> EnumMap k c
- map :: (a -> b) -> EnumMap k a -> EnumMap k b
- mapWithKey :: Enum k => (k -> a -> b) -> EnumMap k a -> EnumMap k b
- traverseWithKey :: (Applicative t, Enum k) => (k -> a -> t b) -> EnumMap k a -> t (EnumMap k b)
- mapAccum :: (a -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapAccumWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapAccumRWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapKeys :: Enum k => (k -> k) -> EnumMap k a -> EnumMap k a
- mapKeysWith :: Enum k => (a -> a -> a) -> (k -> k) -> EnumMap k a -> EnumMap k a
- mapKeysMonotonic :: Enum k => (k -> k) -> EnumMap k a -> EnumMap k a
- foldr :: (a -> b -> b) -> b -> EnumMap k a -> b
- foldl :: (a -> b -> a) -> a -> EnumMap k b -> a
- foldrWithKey :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b
- foldlWithKey :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a
- foldr' :: (a -> b -> b) -> b -> EnumMap k a -> b
- foldl' :: (a -> b -> a) -> a -> EnumMap k b -> a
- foldrWithKey' :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b
- foldlWithKey' :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a
- elems :: EnumMap k a -> [a]
- keys :: Enum k => EnumMap k a -> [k]
- assocs :: Enum k => EnumMap k a -> [(k, a)]
- keysSet :: Enum k => EnumMap k a -> EnumSet k
- fromSet :: Enum k => (k -> a) -> EnumSet k -> EnumMap k a
- toList :: Enum k => EnumMap k a -> [(k, a)]
- fromList :: Enum k => [(k, a)] -> EnumMap k a
- fromListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a
- toAscList :: Enum k => EnumMap k a -> [(k, a)]
- toDescList :: Enum k => EnumMap k a -> [(k, a)]
- fromAscList :: Enum k => [(k, a)] -> EnumMap k a
- fromAscListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromAscListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromDistinctAscList :: Enum k => [(k, a)] -> EnumMap k a
- filter :: (a -> Bool) -> EnumMap k a -> EnumMap k a
- filterWithKey :: Enum k => (k -> a -> Bool) -> EnumMap k a -> EnumMap k a
- restrictKeys :: Enum k => EnumMap k a -> EnumSet k -> EnumMap k a
- withoutKeys :: Enum k => EnumMap k a -> EnumSet k -> EnumMap k a
- partition :: (a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- partitionWithKey :: Enum k => (k -> a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- mapMaybe :: (a -> Maybe b) -> EnumMap k a -> EnumMap k b
- mapMaybeWithKey :: Enum k => (k -> a -> Maybe b) -> EnumMap k a -> EnumMap k b
- mapEither :: (a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c)
- mapEitherWithKey :: Enum k => (k -> a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c)
- split :: Enum k => k -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- splitLookup :: Enum k => k -> EnumMap k a -> (EnumMap k a, Maybe a, EnumMap k a)
- isSubmapOf :: Eq a => EnumMap k a -> EnumMap k a -> Bool
- isSubmapOfBy :: (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool
- isProperSubmapOf :: Eq a => EnumMap k a -> EnumMap k a -> Bool
- isProperSubmapOfBy :: (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool
- lookupMin :: Enum k => EnumMap k a -> Maybe (k, a)
- lookupMax :: Enum k => EnumMap k a -> Maybe (k, a)
- findMin :: Enum k => EnumMap k a -> (k, a)
- findMax :: Enum k => EnumMap k a -> (k, a)
- deleteMin :: EnumMap k a -> EnumMap k a
- deleteMax :: EnumMap k a -> EnumMap k a
- deleteFindMin :: Enum k => EnumMap k a -> ((k, a), EnumMap k a)
- deleteFindMax :: Enum k => EnumMap k a -> ((k, a), EnumMap k a)
- updateMin :: (a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMax :: (a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMinWithKey :: Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMaxWithKey :: Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a
- minView :: EnumMap k a -> Maybe (a, EnumMap k a)
- maxView :: EnumMap k a -> Maybe (a, EnumMap k a)
- minViewWithKey :: Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a)
- maxViewWithKey :: Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a)

# Documentation

data EnumMap k a #

Wrapper for `IntMap` with `Enum` keys.

#### Instances

Instances details

Functor (EnumMap k) # |
Instance details Defined in Data.EnumMap.Base Methods fmap :: (a -> b) -> EnumMap k a -> EnumMap k b # (<$) :: a -> EnumMap k b -> EnumMap k a #
Foldable (EnumMap k) # |
Instance details Defined in Data.EnumMap.Base Methods fold :: Monoid m => EnumMap k m -> m # foldMap :: Monoid m => (a -> m) -> EnumMap k a -> m # foldMap' :: Monoid m => (a -> m) -> EnumMap k a -> m # foldr :: (a -> b -> b) -> b -> EnumMap k a -> b # foldr' :: (a -> b -> b) -> b -> EnumMap k a -> b # foldl :: (b -> a -> b) -> b -> EnumMap k a -> b # foldl' :: (b -> a -> b) -> b -> EnumMap k a -> b # foldr1 :: (a -> a -> a) -> EnumMap k a -> a # foldl1 :: (a -> a -> a) -> EnumMap k a -> a # toList :: EnumMap k a -> [a] # null :: EnumMap k a -> Bool # length :: EnumMap k a -> Int # elem :: Eq a => a -> EnumMap k a -> Bool # maximum :: Ord a => EnumMap k a -> a # minimum :: Ord a => EnumMap k a -> a # sum :: Num a => EnumMap k a -> a # product :: Num a => EnumMap k a -> a #
Traversable (EnumMap k) # |
Instance details Defined in Data.EnumMap.Base Methods traverse :: Applicative f => (a -> f b) -> EnumMap k a -> f (EnumMap k b) # sequenceA :: Applicative f => EnumMap k (f a) -> f (EnumMap k a) # mapM :: Monad m => (a -> m b) -> EnumMap k a -> m (EnumMap k b) # sequence :: Monad m => EnumMap k (m a) -> m (EnumMap k a) #
FromJSON a => FromJSON (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods parseJSON :: Value -> Parser (EnumMap k a) # parseJSONList :: Value -> Parser [EnumMap k a] # omittedField :: Maybe (EnumMap k a) #
ToJSON a => ToJSON (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods toJSON :: EnumMap k a -> Value # toEncoding :: EnumMap k a -> Encoding # toJSONList :: [EnumMap k a] -> Value # toEncodingList :: [EnumMap k a] -> Encoding # omitField :: EnumMap k a -> Bool #
NFData a => NFData (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods rnf :: EnumMap k a -> () #
Monoid (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods mempty :: EnumMap k a # mappend :: EnumMap k a -> EnumMap k a -> EnumMap k a # mconcat :: [EnumMap k a] -> EnumMap k a #
Semigroup (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods (<>) :: EnumMap k a -> EnumMap k a -> EnumMap k a # sconcat :: NonEmpty (EnumMap k a) -> EnumMap k a # stimes :: Integral b => b -> EnumMap k a -> EnumMap k a #
Enum k => IsList (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Associated Types
type Item (EnumMap k a) |
Instance details Defined in Data.EnumMap.Base type Item (EnumMap k a) = (k, a)
Methods fromList :: [Item (EnumMap k a)] -> EnumMap k a # fromListN :: Int -> [Item (EnumMap k a)] -> EnumMap k a # toList :: EnumMap k a -> [Item (EnumMap k a)] #
(Enum k, Read k, Read a) => Read (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods readsPrec :: Int -> ReadS (EnumMap k a) # readList :: ReadS [EnumMap k a] # readPrec :: ReadPrec (EnumMap k a) # readListPrec :: ReadPrec [EnumMap k a] #
(Enum k, Show k, Show a) => Show (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods showsPrec :: Int -> EnumMap k a -> ShowS # show :: EnumMap k a -> String # showList :: [EnumMap k a] -> ShowS #
Eq a => Eq (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods (==) :: EnumMap k a -> EnumMap k a -> Bool # (/=) :: EnumMap k a -> EnumMap k a -> Bool #
Ord a => Ord (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base Methods compare :: EnumMap k a -> EnumMap k a -> Ordering # (<) :: EnumMap k a -> EnumMap k a -> Bool # (<=) :: EnumMap k a -> EnumMap k a -> Bool # (>) :: EnumMap k a -> EnumMap k a -> Bool # (>=) :: EnumMap k a -> EnumMap k a -> Bool # max :: EnumMap k a -> EnumMap k a -> EnumMap k a # min :: EnumMap k a -> EnumMap k a -> EnumMap k a #
type Item (EnumMap k a) # |
Instance details Defined in Data.EnumMap.Base type Item (EnumMap k a) = (k, a)

# Wrapping/unwrapping

intMapToEnumMap :: IntMap a -> EnumMap k a #

Wrap `IntMap`.

enumMapToIntMap :: EnumMap k a -> IntMap a #

Unwrap `IntMap`.

# Operators

(!) :: Enum k => EnumMap k a -> k -> a #

(\\) :: EnumMap k a -> EnumMap k b -> EnumMap k a #

# Query

null :: EnumMap k a -> Bool #

size :: EnumMap k a -> Int #

member :: Enum k => k -> EnumMap k a -> Bool #

notMember :: Enum k => k -> EnumMap k a -> Bool #

lookup :: Enum k => k -> EnumMap k a -> Maybe a #

findWithDefault :: Enum k => a -> k -> EnumMap k a -> a #

lookupLT :: Enum k => k -> EnumMap k a -> Maybe (k, a) #

lookupGT :: Enum k => k -> EnumMap k a -> Maybe (k, a) #

lookupLE :: Enum k => k -> EnumMap k a -> Maybe (k, a) #

lookupGE :: Enum k => k -> EnumMap k a -> Maybe (k, a) #

# Construction

empty :: EnumMap k a #

singleton :: Enum k => k -> a -> EnumMap k a #

## Insertion

insert :: Enum k => k -> a -> EnumMap k a -> EnumMap k a #

insertWith :: Enum k => (a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a #

insertWithKey :: Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a #

insertLookupWithKey :: Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> (Maybe a, EnumMap k a) #

## Delete/Update

delete :: Enum k => k -> EnumMap k a -> EnumMap k a #

adjust :: Enum k => (a -> a) -> k -> EnumMap k a -> EnumMap k a #

adjustWithKey :: Enum k => (k -> a -> a) -> k -> EnumMap k a -> EnumMap k a #

update :: Enum k => (a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a #

updateWithKey :: Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a #

updateLookupWithKey :: Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> (Maybe a, EnumMap k a) #

alter :: Enum k => (Maybe a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a #

alterF :: (Enum k, Functor f) => (Maybe a -> f (Maybe a)) -> k -> EnumMap k a -> f (EnumMap k a) #

# Combine

## Union

union :: EnumMap k a -> EnumMap k a -> EnumMap k a #

unionWith :: (a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a #

unionWithKey :: Enum k => (k -> a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a #

unions :: [EnumMap k a] -> EnumMap k a #

unionsWith :: (a -> a -> a) -> [EnumMap k a] -> EnumMap k a #

## Difference

difference :: EnumMap k a -> EnumMap k b -> EnumMap k a #

differenceWith :: (a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a #

differenceWithKey :: Enum k => (k -> a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a #

## Intersection

intersection :: EnumMap k a -> EnumMap k b -> EnumMap k a #

intersectionWith :: (a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c #

intersectionWithKey :: Enum k => (k -> a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c #

## Universal combining function

mergeWithKey :: Enum k => (k -> a -> b -> Maybe c) -> (EnumMap k a -> EnumMap k c) -> (EnumMap k b -> EnumMap k c) -> EnumMap k a -> EnumMap k b -> EnumMap k c #

# Traversal

## Map

map :: (a -> b) -> EnumMap k a -> EnumMap k b #

mapWithKey :: Enum k => (k -> a -> b) -> EnumMap k a -> EnumMap k b #

traverseWithKey :: (Applicative t, Enum k) => (k -> a -> t b) -> EnumMap k a -> t (EnumMap k b) #

mapAccum :: (a -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c) #

mapAccumWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c) #

mapAccumRWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c) #

mapKeys :: Enum k => (k -> k) -> EnumMap k a -> EnumMap k a #

mapKeysWith :: Enum k => (a -> a -> a) -> (k -> k) -> EnumMap k a -> EnumMap k a #

mapKeysMonotonic :: Enum k => (k -> k) -> EnumMap k a -> EnumMap k a #

# Folds

foldr :: (a -> b -> b) -> b -> EnumMap k a -> b #

foldl :: (a -> b -> a) -> a -> EnumMap k b -> a #

foldrWithKey :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b #

foldlWithKey :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a #

## Strict folds

foldr' :: (a -> b -> b) -> b -> EnumMap k a -> b #

foldl' :: (a -> b -> a) -> a -> EnumMap k b -> a #

foldrWithKey' :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b #

foldlWithKey' :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a #

# Conversion

elems :: EnumMap k a -> [a] #

keys :: Enum k => EnumMap k a -> [k] #

assocs :: Enum k => EnumMap k a -> [(k, a)] #

keysSet :: Enum k => EnumMap k a -> EnumSet k #

fromSet :: Enum k => (k -> a) -> EnumSet k -> EnumMap k a #

## Lists

toList :: Enum k => EnumMap k a -> [(k, a)] #

fromList :: Enum k => [(k, a)] -> EnumMap k a #

fromListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a #

fromListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a #

## Ordered lists

toAscList :: Enum k => EnumMap k a -> [(k, a)] #

toDescList :: Enum k => EnumMap k a -> [(k, a)] #

fromAscList :: Enum k => [(k, a)] -> EnumMap k a #

fromAscListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a #

fromAscListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a #

fromDistinctAscList :: Enum k => [(k, a)] -> EnumMap k a #

# Filter

filter :: (a -> Bool) -> EnumMap k a -> EnumMap k a #

filterWithKey :: Enum k => (k -> a -> Bool) -> EnumMap k a -> EnumMap k a #

restrictKeys :: Enum k => EnumMap k a -> EnumSet k -> EnumMap k a #

withoutKeys :: Enum k => EnumMap k a -> EnumSet k -> EnumMap k a #

partition :: (a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a) #

partitionWithKey :: Enum k => (k -> a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a) #

mapMaybe :: (a -> Maybe b) -> EnumMap k a -> EnumMap k b #

mapMaybeWithKey :: Enum k => (k -> a -> Maybe b) -> EnumMap k a -> EnumMap k b #

mapEither :: (a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c) #

mapEitherWithKey :: Enum k => (k -> a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c) #

split :: Enum k => k -> EnumMap k a -> (EnumMap k a, EnumMap k a) #

splitLookup :: Enum k => k -> EnumMap k a -> (EnumMap k a, Maybe a, EnumMap k a) #

# Submap

isSubmapOf :: Eq a => EnumMap k a -> EnumMap k a -> Bool #

isSubmapOfBy :: (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool #

isProperSubmapOf :: Eq a => EnumMap k a -> EnumMap k a -> Bool #

isProperSubmapOfBy :: (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool #

# Min/Max

lookupMin :: Enum k => EnumMap k a -> Maybe (k, a) #

lookupMax :: Enum k => EnumMap k a -> Maybe (k, a) #

findMin :: Enum k => EnumMap k a -> (k, a) #

findMax :: Enum k => EnumMap k a -> (k, a) #

deleteMin :: EnumMap k a -> EnumMap k a #

deleteMax :: EnumMap k a -> EnumMap k a #

deleteFindMin :: Enum k => EnumMap k a -> ((k, a), EnumMap k a) #

deleteFindMax :: Enum k => EnumMap k a -> ((k, a), EnumMap k a) #

updateMin :: (a -> Maybe a) -> EnumMap k a -> EnumMap k a #

updateMax :: (a -> Maybe a) -> EnumMap k a -> EnumMap k a #

updateMinWithKey :: Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a #

updateMaxWithKey :: Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a #

minView :: EnumMap k a -> Maybe (a, EnumMap k a) #

maxView :: EnumMap k a -> Maybe (a, EnumMap k a) #

minViewWithKey :: Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a) #

maxViewWithKey :: Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a) #