unison-util-relation-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Util.BiMap

Synopsis

Documentation

data BiMap k v Source #

A bidirectional map between keys of type k and values of type v.

Constructors

BiMap 

Fields

Instances

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

Defined in Unison.Util.BiMap

Methods

mempty :: BiMap k v #

mappend :: BiMap k v -> BiMap k v -> BiMap k v #

mconcat :: [BiMap k v] -> BiMap k v #

(Ord k, Ord v) => Semigroup (BiMap k v) Source #

Combine two BiMaps. In case of key or value collisions, the entries from the second BiMap take precedence.

Instance details

Defined in Unison.Util.BiMap

Methods

(<>) :: BiMap k v -> BiMap k v -> BiMap k v #

sconcat :: NonEmpty (BiMap k v) -> BiMap k v #

stimes :: Integral b => b -> BiMap k v -> BiMap k v #

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

Defined in Unison.Util.BiMap

Methods

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

show :: BiMap k v -> String #

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

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

Defined in Unison.Util.BiMap

Methods

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

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

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

Defined in Unison.Util.BiMap

Methods

compare :: BiMap k v -> BiMap k v -> Ordering #

(<) :: BiMap k v -> BiMap k v -> Bool #

(<=) :: BiMap k v -> BiMap k v -> Bool #

(>) :: BiMap k v -> BiMap k v -> Bool #

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

max :: BiMap k v -> BiMap k v -> BiMap k v #

min :: BiMap k v -> BiMap k v -> BiMap k v #

empty :: (Ord k, Ord v) => BiMap k v Source #

singleton :: k -> v -> BiMap k v Source #

fromList :: (Ord k, Ord v) => [(k, v)] -> BiMap k v Source #

fromMap :: (Ord k, Ord v) => Map k v -> BiMap k v Source #

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

toMapL :: BiMap k v -> Map k v Source #

toMapR :: BiMap k v -> Map v k Source #

lookupL :: Ord k => k -> BiMap k v -> Maybe v Source #

lookupR :: Ord v => v -> BiMap k v -> Maybe k Source #

union :: (Ord k, Ord v) => BiMap k v -> BiMap k v -> BiMap k v Source #

difference :: (Ord k, Ord v) => BiMap k v -> BiMap k v -> BiMap k v Source #

insert :: (Ord k, Ord v) => k -> v -> BiMap k v -> BiMap k v Source #

deleteL :: (Ord k, Ord v) => k -> BiMap k v -> BiMap k v Source #

deleteR :: (Ord v, Ord k) => v -> BiMap k v -> BiMap k v Source #

keysSetL :: BiMap k v -> Set k Source #

keysSetR :: BiMap k v -> Set v Source #