distributed-process-extras-0.3.7: Cloud Haskell Extras
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Distributed.Process.Extras.Internal.Containers.MultiMap

Synopsis

Documentation

data MultiMap k v Source #

Opaque type of MultiMaps.

Instances

Instances details
Foldable (MultiMap k) Source # 
Instance details

Defined in Control.Distributed.Process.Extras.Internal.Containers.MultiMap

Methods

fold :: Monoid m => MultiMap k m -> m #

foldMap :: Monoid m => (a -> m) -> MultiMap k a -> m #

foldMap' :: Monoid m => (a -> m) -> MultiMap k a -> m #

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

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

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

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

foldr1 :: (a -> a -> a) -> MultiMap k a -> a #

foldl1 :: (a -> a -> a) -> MultiMap k a -> a #

toList :: MultiMap k a -> [a] #

null :: MultiMap k a -> Bool #

length :: MultiMap k a -> Int #

elem :: Eq a => a -> MultiMap k a -> Bool #

maximum :: Ord a => MultiMap k a -> a #

minimum :: Ord a => MultiMap k a -> a #

sum :: Num a => MultiMap k a -> a #

product :: Num a => MultiMap k a -> a #

class (Eq a, Hashable a) => Insertable a Source #

Class of things that can be inserted in a map or a set (of mapped values), for which instances of Eq and Hashable must be present.

Instances

Instances details
(Eq a, Hashable a) => Insertable a Source # 
Instance details

Defined in Control.Distributed.Process.Extras.Internal.Containers.MultiMap

insert :: forall k v. (Insertable k, Insertable v) => k -> v -> MultiMap k v -> MultiMap k v Source #

member :: Insertable k => k -> MultiMap k a -> Bool Source #

lookup :: Insertable k => k -> MultiMap k v -> Maybe [v] Source #

delete :: Insertable k => k -> MultiMap k v -> Maybe ([v], MultiMap k v) Source #

filter :: forall k v. Insertable k => (v -> Bool) -> MultiMap k v -> MultiMap k v Source #

filterWithKey :: forall k v. Insertable k => (k -> v -> Bool) -> MultiMap k v -> MultiMap k v Source #

foldrWithKey :: (k -> v -> a -> a) -> a -> MultiMap k v -> a Source #

O(n) Reduce this map by applying a binary operator to all elements, using the given starting value (typically the right-identity of the operator).

toList :: MultiMap k v -> [(k, v)] Source #