monoidmap-0.0.1.3: Monoidal map type
Copyright© 2022–2024 Jonathan Knowles
LicenseApache-2.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Examples.MultiMap.Instances.MultiMap2

Description

A lawful implementation of MultiMap, implemented in terms of Map and Set.

Documentation

newtype MultiMap2 k v Source #

Constructors

MultiMap (Map k (Set v)) 

Instances

Instances details
(Ord k, Ord v) => MultiMap MultiMap2 k v Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap2

Methods

fromList :: [(k, Set v)] -> MultiMap2 k v Source #

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

empty :: MultiMap2 k v Source #

lookup :: k -> MultiMap2 k v -> Set v Source #

null :: MultiMap2 k v -> Bool Source #

nonNull :: MultiMap2 k v -> Bool Source #

nonNullKey :: k -> MultiMap2 k v -> Bool Source #

nonNullKeys :: MultiMap2 k v -> Set k Source #

nonNullCount :: MultiMap2 k v -> Int Source #

isSubmapOf :: MultiMap2 k v -> MultiMap2 k v -> Bool Source #

update :: k -> Set v -> MultiMap2 k v -> MultiMap2 k v Source #

insert :: k -> Set v -> MultiMap2 k v -> MultiMap2 k v Source #

remove :: k -> Set v -> MultiMap2 k v -> MultiMap2 k v Source #

union :: MultiMap2 k v -> MultiMap2 k v -> MultiMap2 k v Source #

intersection :: MultiMap2 k v -> MultiMap2 k v -> MultiMap2 k v Source #

(Show k, Show v) => Show (MultiMap2 k v) Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap2

Methods

showsPrec :: Int -> MultiMap2 k v -> ShowS #

show :: MultiMap2 k v -> String #

showList :: [MultiMap2 k v] -> ShowS #

(Eq k, Eq v) => Eq (MultiMap2 k v) Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap2

Methods

(==) :: MultiMap2 k v -> MultiMap2 k v -> Bool #

(/=) :: MultiMap2 k v -> MultiMap2 k v -> Bool #