monoidmap-0.0.1.3: Monoidal map type
Copyright© 2022–2024 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 MultiMap3 k v Source #

Constructors

MultiMap (Map k (NESet v)) 

Instances

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

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

empty :: MultiMap3 k v Source #

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

null :: MultiMap3 k v -> Bool Source #

nonNull :: MultiMap3 k v -> Bool Source #

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

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

nonNullCount :: MultiMap3 k v -> Int Source #

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

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

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

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

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

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

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

show :: MultiMap3 k v -> String #

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

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

Defined in Examples.MultiMap.Instances.MultiMap3

Methods

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

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