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

Synopsis

# Documentation

data MultiMap k v Source #

Opaque type of MultiMaps.

Instances

 Source # Methodsfold :: Monoid m => MultiMap k m -> 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

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

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 #