Copyright | (c) 2011-2019 Michal Terepeta (c) 2019-2020 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 |
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
- 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
- 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
Instances
Functor (EnumMap k) Source # | |
Foldable (EnumMap k) Source # | |
Defined in Data.EnumMap.Base 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] # 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 # | |
Traversable (EnumMap k) Source # | |
Eq a => Eq (EnumMap k a) Source # | |
Ord a => Ord (EnumMap k a) Source # | |
Defined in Data.EnumMap.Base | |
(Enum k, Read k, Read a) => Read (EnumMap k a) Source # | |
(Enum k, Show k, Show a) => Show (EnumMap k a) Source # | |
Semigroup (EnumMap k a) Source # | |
Monoid (EnumMap k a) Source # | |
NFData a => NFData (EnumMap k a) Source # | |
Defined in Data.EnumMap.Base |
Wrapping/unwrapping
Operators
Query
findWithDefault :: Enum k => a -> k -> EnumMap k a -> a Source #
Construction
Insertion
insertLookupWithKey :: Enum k => (k -> a -> a -> a) -> k -> a -> EnumMap k a -> (Maybe a, EnumMap k a) Source #
Delete/Update
updateLookupWithKey :: Enum k => (k -> a -> Maybe a) -> k -> EnumMap k a -> (Maybe a, EnumMap k a) Source #
Combine
Union
unionsWith :: (a -> a -> a) -> [EnumMap k a] -> EnumMap k a Source #
Difference
differenceWithKey :: Enum k => (k -> a -> b -> Maybe a) -> EnumMap k a -> EnumMap k b -> EnumMap k a Source #
Intersection
intersectionWithKey :: Enum k => (k -> a -> b -> c) -> EnumMap k a -> EnumMap k b -> EnumMap k c Source #
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 Source #
Traversal
Map
traverseWithKey :: (Applicative t, Enum k) => (k -> a -> t b) -> EnumMap k a -> t (EnumMap k b) Source #
mapAccumWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c) Source #
mapAccumRWithKey :: Enum k => (a -> k -> b -> (a, c)) -> a -> EnumMap k b -> (a, EnumMap k c) Source #
Folds
foldrWithKey :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b Source #
foldlWithKey :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a Source #
Strict folds
foldrWithKey' :: Enum k => (k -> a -> b -> b) -> b -> EnumMap k a -> b Source #
foldlWithKey' :: Enum k => (a -> k -> b -> a) -> a -> EnumMap k b -> a Source #
Conversion
Lists
fromListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a Source #
fromListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a Source #
Ordered lists
toDescList :: Enum k => EnumMap k a -> [(k, a)] Source #
fromAscList :: Enum k => [(k, a)] -> EnumMap k a Source #
fromAscListWith :: Enum k => (a -> a -> a) -> [(k, a)] -> EnumMap k a Source #
fromAscListWithKey :: Enum k => (k -> a -> a -> a) -> [(k, a)] -> EnumMap k a Source #
fromDistinctAscList :: Enum k => [(k, a)] -> EnumMap k a Source #
Filter
partitionWithKey :: Enum k => (k -> a -> Bool) -> EnumMap k a -> (EnumMap k a, EnumMap k a) Source #
mapEitherWithKey :: Enum k => (k -> a -> Either b c) -> EnumMap k a -> (EnumMap k b, EnumMap k c) Source #