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

Safe HaskellTrustworthy
LanguageHaskell98

Data.EnumMap.Lazy

Contents

Description

Synopsis

Documentation

newtype EnumMap k v infixr 1 Source

Constructors

EnumMap infixr 1 

Fields

unEnumMap :: IntMap v
 

Instances

Functor (EnumMap k) Source 
Foldable (EnumMap k) Source 
Traversable (EnumMap k) Source 
Eq v => Eq (EnumMap k v) Source 
(Data k, Data v) => Data (EnumMap k v) Source 
Ord v => Ord (EnumMap k v) Source 
(Enum k, Read k, Read a) => Read (EnumMap k a) Source 
(Enum k, Show k, Show a) => Show (EnumMap k a) Source 
Monoid (EnumMap k v) Source 
NFData v => NFData (EnumMap k v) Source 

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 a t 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 a m. (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