enummapset-th-0.6.1.1: TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap.

Safe Haskell | Trustworthy
Language | Haskell98

Data.EnumMap.Strict

Contents

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

Description

Refer to the documentation for Data.IntMap.Strict.

Synopsis

- newtype EnumMap k v = EnumMap {
  - unEnumMap :: IntMap v
  }
- (!) :: forall k a. Enum k => EnumMap k a -> k -> a
- (\\) :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a
- null :: forall k a. EnumMap k a -> Bool
- size :: forall k a. EnumMap k a -> Int
- member :: forall k a. Enum k => k -> EnumMap k a -> Bool
- notMember :: forall k a. Enum k => k -> EnumMap k a -> Bool
- lookup :: forall k a. Enum k => k -> EnumMap k a -> Maybe a
- findWithDefault :: forall k a. Enum k => a -> k -> EnumMap k a -> a
- lookupLT :: forall k a. Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupGT :: forall k a. Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupLE :: forall k a. Enum k => k -> EnumMap k a -> Maybe (k, a)
- lookupGE :: forall k a. Enum k => k -> EnumMap k a -> Maybe (k, a)
- empty :: forall k a. EnumMap k a
- singleton :: forall k a. Enum k => k -> a -> EnumMap k a
- insert :: forall k a. Enum k => k -> a -> EnumMap k a -> EnumMap k a
- insertWith :: forall k a. Enum k => (a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a
- insertWithKey :: forall k a. Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> EnumMap k a
- insertLookupWithKey :: forall k a. Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> (Maybe a, EnumMap k a)
- delete :: forall k a. Enum k => k -> EnumMap k a -> EnumMap k a
- adjust :: forall k a. Enum k => (a -> a) -> k -> EnumMap k a -> EnumMap k a
- adjustWithKey :: forall k a. Enum k => (k -> a -> a) -> k -> EnumMap k a -> EnumMap k a
- update :: forall k a. Enum k => (a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- updateWithKey :: forall k a. Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- updateLookupWithKey :: forall k a. Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> (Maybe a, EnumMap k a)
- alter :: forall k a. Enum k => (Maybe a -> Maybe a) -> k -> EnumMap k a -> EnumMap k a
- union :: forall k a. EnumMap k a -> EnumMap k a -> EnumMap k a
- unionWith :: forall k a. (a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a
- unionWithKey :: forall k a. Enum k => (k -> a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a
- unions :: forall k a. [EnumMap k a] -> EnumMap k a
- unionsWith :: forall k a. (a -> a -> a) -> [EnumMap k a] -> EnumMap k a
- difference :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a
- differenceWith :: forall k a b. (a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a
- differenceWithKey :: forall k a b. Enum k => (k -> a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a
- intersection :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a
- intersectionWith :: forall k a b c. (a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c
- intersectionWithKey :: forall k a b c. Enum k => (k -> a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c
- mergeWithKey :: forall k a b c. 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 :: forall k a b. (a -> b) -> EnumMap k a -> EnumMap k b
- mapWithKey :: forall k a b. Enum k => (k -> a -> b) -> EnumMap k a -> EnumMap k b
- traverseWithKey :: forall k t a b. (Enum k, Applicative t) => (k -> a -> t b) -> EnumMap k a -> t (EnumMap k b)
- mapAccum :: forall k a b c. (a -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapAccumWithKey :: forall k a b c. Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapAccumRWithKey :: forall k a b c. Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c)
- mapKeys :: forall k k' a. (Enum k, Enum k') => (k -> k') -> EnumMap k a -> EnumMap k' a
- mapKeysWith :: forall k k' a. (Enum k, Enum k') => (a -> a -> a) -> (k -> k') -> EnumMap k a -> EnumMap k' a
- mapKeysMonotonic :: forall k k' a. (Enum k, Enum k') => (k -> k') -> EnumMap k a -> EnumMap k' a
- foldr :: forall k a b. (a -> b -> b) -> b -> EnumMap k a -> b
- foldl :: forall k a b. (a -> b -> a) -> a -> EnumMap k b -> a
- foldrWithKey :: forall k a b. Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b
- foldlWithKey :: forall k a b. Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a
- foldMapWithKey :: forall k m a. (Enum k, Monoid m) => (k -> a -> m) -> EnumMap k a -> m
- foldr' :: forall k a b. (a -> b -> b) -> b -> EnumMap k a -> b
- foldl' :: forall k a b. (a -> b -> a) -> a -> EnumMap k b -> a
- foldrWithKey' :: forall k a b. Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b
- foldlWithKey' :: forall k a b. Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a
- elems :: forall k a. EnumMap k a -> [a]
- keys :: forall k a. Enum k => EnumMap k a -> [k]
- assocs :: forall k a. Enum k => EnumMap k a -> [(k, a)]
- keysSet :: forall k a. EnumMap k a -> EnumSet k
- fromSet :: forall k a. Enum k => (k -> a) -> EnumSet k -> EnumMap k a
- toList :: forall k a. Enum k => EnumMap k a -> [(k, a)]
- fromList :: forall k a. Enum k => [(k, a)] -> EnumMap k a
- fromListWith :: forall k a. Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromListWithKey :: forall k a. Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a
- toAscList :: forall k a. Enum k => EnumMap k a -> [(k, a)]
- toDescList :: forall k a. Enum k => EnumMap k a -> [(k, a)]
- fromAscList :: forall k a. Enum k => [(k, a)] -> EnumMap k a
- fromAscListWith :: forall k a. Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromAscListWithKey :: forall k a. Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a
- fromDistinctAscList :: forall k a. Enum k => [(k, a)] -> EnumMap k a
- filter :: forall k a. (a -> Bool) -> EnumMap k a -> EnumMap k a
- filterWithKey :: forall k a. Enum k => (k -> a -> Bool) -> EnumMap k a -> EnumMap k a
- partition :: forall k a. (a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- partitionWithKey :: forall k a. Enum k => (k -> a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- mapMaybe :: forall k a b. (a -> Maybe b) -> EnumMap k a -> EnumMap k b
- mapMaybeWithKey :: forall k a b. Enum k => (k -> a -> Maybe b) -> EnumMap k a -> EnumMap k b
- mapEither :: forall k a b c. (a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c)
- mapEitherWithKey :: forall k a b c. Enum k => (k -> a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c)
- split :: forall k a. Enum k => k -> EnumMap k a -> (EnumMap k a, EnumMap k a)
- splitLookup :: forall k a. Enum k => k -> EnumMap k a -> (EnumMap k a, Maybe a, EnumMap k a)
- isSubmapOf :: forall k a. Eq a => EnumMap k a -> EnumMap k a -> Bool
- isSubmapOfBy :: forall k a b. (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool
- isProperSubmapOf :: forall k a. Eq a => EnumMap k a -> EnumMap k a -> Bool
- isProperSubmapOfBy :: forall k a b. (a -> b -> Bool) -> EnumMap k a -> EnumMap k b -> Bool
- findMin :: forall k a. Enum k => EnumMap k a -> (k, a)
- findMax :: forall k a. Enum k => EnumMap k a -> (k, a)
- deleteMin :: forall k a. EnumMap k a -> EnumMap k a
- deleteMax :: forall k a. EnumMap k a -> EnumMap k a
- deleteFindMin :: forall k a. Enum k => EnumMap k a -> ((k, a), EnumMap k a)
- deleteFindMax :: forall k a. Enum k => EnumMap k a -> ((k, a), EnumMap k a)
- updateMin :: forall k a. (a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMax :: forall k a. (a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMinWithKey :: forall k a. Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a
- updateMaxWithKey :: forall k a. Enum k => (k -> a -> Maybe a) -> EnumMap k a -> EnumMap k a
- minView :: forall k a. EnumMap k a -> Maybe (a, EnumMap k a)
- maxView :: forall k a. EnumMap k a -> Maybe (a, EnumMap k a)
- minViewWithKey :: forall k a. Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a)
- maxViewWithKey :: forall k a. Enum k => EnumMap k a -> Maybe ((k, a), EnumMap k a)
- showTree :: forall k a. Show a => EnumMap k a -> String
- showTreeWith :: forall k a. Show a => Bool -> Bool -> EnumMap k a -> String

# Documentation

newtype EnumMap k v infixr 1 Source #

Constructors

EnumMap infixr 1 |

Fields

- unEnumMap :: IntMap v

Instances

Functor (EnumMap k) Source # |
Methods fmap :: (a -> b) -> EnumMap k a -> EnumMap k b # (<$) :: a -> EnumMap k b -> EnumMap k a #
Foldable (EnumMap k) Source # |

Methods

fold :: Monoid m => EnumMap k m -> 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) Source # |
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) #
Eq v => Eq (EnumMap k v) Source # |
Methods (==) :: EnumMap k v -> EnumMap k v -> Bool # (/=) :: EnumMap k v -> EnumMap k v -> Bool #
(Data v, Data k) => Data (EnumMap k v) Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EnumMap k v -> c (EnumMap k v) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (EnumMap k v) #

toConstr :: EnumMap k v -> Constr #

dataTypeOf :: EnumMap k v -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (EnumMap k v)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (EnumMap k v)) #

gmapT :: (forall b. Data b => b -> b) -> EnumMap k v -> EnumMap k v #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EnumMap k v -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EnumMap k v -> r #

gmapQ :: (forall d. Data d => d -> u) -> EnumMap k v -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EnumMap k v -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EnumMap k v -> m (EnumMap k v) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EnumMap k v -> m (EnumMap k v) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EnumMap k v -> m (EnumMap k v) #

Ord v => Ord (EnumMap k v) Source # |
Methods compare :: EnumMap k v -> EnumMap k v -> Ordering # (<) :: EnumMap k v -> EnumMap k v -> Bool # (<=) :: EnumMap k v -> EnumMap k v -> Bool # (>) :: EnumMap k v -> EnumMap k v -> Bool # (>=) :: EnumMap k v -> EnumMap k v -> Bool # max :: EnumMap k v -> EnumMap k v -> EnumMap k v # min :: EnumMap k v -> EnumMap k v -> EnumMap k v #
(Enum k, Read k, Read a) => Read (EnumMap k a) Source # |
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) Source # |
Methods showsPrec :: Int -> EnumMap k a -> ShowS # show :: EnumMap k a -> String # showList :: [EnumMap k a] -> ShowS #
Monoid (EnumMap k v) Source # |
Methods mempty :: EnumMap k v # mappend :: EnumMap k v -> EnumMap k v -> EnumMap k v # mconcat :: [EnumMap k v] -> EnumMap k v #
NFData v => NFData (EnumMap k v) Source # |
Methods rnf :: EnumMap k v -> () #

# Operators

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

(\\) :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a Source #

# Query

null :: forall k a. EnumMap k a -> Bool Source #

size :: forall k a. EnumMap k a -> Int Source #

member :: forall k a. Enum k => k -> EnumMap k a -> Bool Source #

notMember :: forall k a. Enum k => k -> EnumMap k a -> Bool Source #

lookup :: forall k a. Enum k => k -> EnumMap k a -> Maybe a Source #

findWithDefault :: forall k a. Enum k => a -> k -> EnumMap k a -> a Source #

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

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

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

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

# Construction

empty :: forall k a. EnumMap k a Source #

singleton :: forall k a. Enum k => k -> a -> EnumMap k a Source #

# Insertion

insert :: forall k a. Enum k => k -> a -> EnumMap k a -> EnumMap k a Source #

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

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

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

# Delete/Update

delete :: forall k a. Enum k => k -> EnumMap k a -> EnumMap k a Source #

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

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

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

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

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

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

# Combine: Union

union :: forall k a. EnumMap k a -> EnumMap k a -> EnumMap k a Source #

unionWith :: forall k a. (a -> a -> a) -> EnumMap k a -> EnumMap k a -> EnumMap k a Source #

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

unions :: forall k a. [EnumMap k a] -> EnumMap k a Source #

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

# Combine: Difference

difference :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a Source #

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

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

# Combine: Intersection

intersection :: forall k a b. EnumMap k a -> EnumMap k b -> EnumMap k a Source #

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

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

# Combine: Universal combining function

mergeWithKey :: forall k a b c. 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 Source #

# Traversal: Map

map :: forall k a b. (a -> b) -> EnumMap k a -> EnumMap k b Source #

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

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

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

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

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

mapKeys :: forall k k' a. (Enum k, Enum k') => (k -> k') -> EnumMap k a -> EnumMap k' a Source #

mapKeysWith :: forall k k' a. (Enum k, Enum k') => (a -> a -> a) -> (k -> k') -> EnumMap k a -> EnumMap k' a Source #

mapKeysMonotonic :: forall k k' a. (Enum k, Enum k') => (k -> k') -> EnumMap k a -> EnumMap k' a Source #

# Traversal: Folds

foldr :: forall k a b. (a -> b -> b) -> b -> EnumMap k a -> b Source #

foldl :: forall k a b. (a -> b -> a) -> a -> EnumMap k b -> a Source #

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

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

foldMapWithKey :: forall k m a. (Enum k, Monoid m) => (k -> a -> m) -> EnumMap k a -> m Source #

# Traversal: Strict folds

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

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

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

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

# Conversion

elems :: forall k a. EnumMap k a -> [a] Source #

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

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

keysSet :: forall k a. EnumMap k a -> EnumSet k Source #

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

# Conversion: Lists

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

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

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

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

# Conversion: Ordered lists

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

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

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

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

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

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

# Filter

filter :: forall k a. (a -> Bool) -> EnumMap k a -> EnumMap k a Source #

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

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

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

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

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

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

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

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

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

# Submap

isSubmapOf :: forall k a. Eq a => EnumMap k a -> EnumMap k a -> Bool Source #

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

isProperSubmapOf :: forall k a. Eq a => EnumMap k a -> EnumMap k a -> Bool Source #

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

# Min/Max

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

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

deleteMin :: forall k a. EnumMap k a -> EnumMap k a Source #

deleteMax :: forall k a. EnumMap k a -> EnumMap k a Source #

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

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

updateMin :: forall k a. (a -> Maybe a) -> EnumMap k a -> EnumMap k a Source #

updateMax :: forall k a. (a -> Maybe a) -> EnumMap k a -> EnumMap k a Source #

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

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

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

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

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

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

# Debugging

showTree :: forall k a. Show a => EnumMap k a -> String Source #

showTreeWith :: forall k a. Show a => Bool -> Bool -> EnumMap k a -> String Source #