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

Examples.MultiMap.Instances.MultiMap3

Description

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

Documentation

newtype MultiMap k v Source #

Constructors

MultiMap (Map k (NESet v)) 

Instances

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

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

empty :: MultiMap k v Source #

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

null :: MultiMap k v -> Bool Source #

nonNull :: MultiMap k v -> Bool Source #

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

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

nonNullCount :: MultiMap k v -> Int Source #

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

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

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

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

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

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

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

show :: MultiMap k v -> String #

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

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

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