ghc-6.12.2: The GHC APISource codeContentsIndex
UniqFM
Contents
Unique-keyed mappings
Manipulating those mappings
Synopsis
data UniqFM ele
= EmptyUFM
| LeafUFM !FastInt ele
| NodeUFM !FastInt !FastInt (UniqFM ele) (UniqFM ele)
emptyUFM :: UniqFM elt
unitUFM :: Uniquable key => key -> elt -> UniqFM elt
unitDirectlyUFM :: Unique -> elt -> UniqFM elt
listToUFM :: Uniquable key => [(key, elt)] -> UniqFM elt
listToUFM_Directly :: [(Unique, elt)] -> UniqFM elt
listToUFM_C :: Uniquable key => (elt -> elt -> elt) -> [(key, elt)] -> UniqFM elt
addToUFM :: Uniquable key => UniqFM elt -> key -> elt -> UniqFM elt
addToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> key -> elt -> UniqFM elt
addToUFM_Acc :: Uniquable key => (elt -> elts -> elts) -> (elt -> elts) -> UniqFM elts -> key -> elt -> UniqFM elts
addListToUFM :: Uniquable key => UniqFM elt -> [(key, elt)] -> UniqFM elt
addListToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> [(key, elt)] -> UniqFM elt
addToUFM_Directly :: UniqFM elt -> Unique -> elt -> UniqFM elt
addListToUFM_Directly :: UniqFM elt -> [(Unique, elt)] -> UniqFM elt
delFromUFM :: Uniquable key => UniqFM elt -> key -> UniqFM elt
delFromUFM_Directly :: UniqFM elt -> Unique -> UniqFM elt
delListFromUFM :: Uniquable key => UniqFM elt -> [key] -> UniqFM elt
plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt
plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM elt
minusUFM :: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1
intersectsUFM :: UniqFM elt1 -> UniqFM elt2 -> Bool
intersectUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt
intersectUFM_C :: (elt1 -> elt2 -> elt3) -> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3
foldUFM :: (elt -> a -> a) -> a -> UniqFM elt -> a
foldUFM_Directly :: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> a
mapUFM :: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
elemUFM :: Uniquable key => key -> UniqFM elt -> Bool
elemUFM_Directly :: Unique -> UniqFM elt -> Bool
filterUFM :: (elt -> Bool) -> UniqFM elt -> UniqFM elt
filterUFM_Directly :: (Unique -> elt -> Bool) -> UniqFM elt -> UniqFM elt
sizeUFM :: UniqFM elt -> Int
hashUFM :: UniqFM elt -> Int
isNullUFM :: UniqFM elt -> Bool
lookupUFM :: Uniquable key => UniqFM elt -> key -> Maybe elt
lookupUFM_Directly :: UniqFM elt -> Unique -> Maybe elt
lookupWithDefaultUFM :: Uniquable key => UniqFM elt -> elt -> key -> elt
lookupWithDefaultUFM_Directly :: UniqFM elt -> elt -> Unique -> elt
eltsUFM :: UniqFM elt -> [elt]
keysUFM :: UniqFM elt -> [Unique]
splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)
ufmToList :: UniqFM elt -> [(Unique, elt)]
Unique-keyed mappings
data UniqFM ele Source
UniqFM a is a mapping from Unique to a. DO NOT use these constructors directly unless you live in this module!
Constructors
EmptyUFM
LeafUFM !FastInt ele
NodeUFM !FastInt !FastInt (UniqFM ele) (UniqFM ele)
show/hide Instances
Manipulating those mappings
emptyUFM :: UniqFM eltSource
unitUFM :: Uniquable key => key -> elt -> UniqFM eltSource
unitDirectlyUFM :: Unique -> elt -> UniqFM eltSource
listToUFM :: Uniquable key => [(key, elt)] -> UniqFM eltSource
listToUFM_Directly :: [(Unique, elt)] -> UniqFM eltSource
listToUFM_C :: Uniquable key => (elt -> elt -> elt) -> [(key, elt)] -> UniqFM eltSource
addToUFM :: Uniquable key => UniqFM elt -> key -> elt -> UniqFM eltSource
addToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> key -> elt -> UniqFM eltSource
addToUFM_Acc :: Uniquable key => (elt -> elts -> elts) -> (elt -> elts) -> UniqFM elts -> key -> elt -> UniqFM eltsSource
addListToUFM :: Uniquable key => UniqFM elt -> [(key, elt)] -> UniqFM eltSource
addListToUFM_C :: Uniquable key => (elt -> elt -> elt) -> UniqFM elt -> [(key, elt)] -> UniqFM eltSource
addToUFM_Directly :: UniqFM elt -> Unique -> elt -> UniqFM eltSource
addListToUFM_Directly :: UniqFM elt -> [(Unique, elt)] -> UniqFM eltSource
delFromUFM :: Uniquable key => UniqFM elt -> key -> UniqFM eltSource
delFromUFM_Directly :: UniqFM elt -> Unique -> UniqFM eltSource
delListFromUFM :: Uniquable key => UniqFM elt -> [key] -> UniqFM eltSource
plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM eltSource
plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM eltSource
minusUFM :: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1Source
intersectsUFM :: UniqFM elt1 -> UniqFM elt2 -> BoolSource
intersectUFM :: UniqFM elt -> UniqFM elt -> UniqFM eltSource
intersectUFM_C :: (elt1 -> elt2 -> elt3) -> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3Source
foldUFM :: (elt -> a -> a) -> a -> UniqFM elt -> aSource
foldUFM_Directly :: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> aSource
mapUFM :: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2Source
elemUFM :: Uniquable key => key -> UniqFM elt -> BoolSource
elemUFM_Directly :: Unique -> UniqFM elt -> BoolSource
filterUFM :: (elt -> Bool) -> UniqFM elt -> UniqFM eltSource
filterUFM_Directly :: (Unique -> elt -> Bool) -> UniqFM elt -> UniqFM eltSource
sizeUFM :: UniqFM elt -> IntSource
hashUFM :: UniqFM elt -> IntSource
isNullUFM :: UniqFM elt -> BoolSource
lookupUFM :: Uniquable key => UniqFM elt -> key -> Maybe eltSource
lookupUFM_Directly :: UniqFM elt -> Unique -> Maybe eltSource
lookupWithDefaultUFM :: Uniquable key => UniqFM elt -> elt -> key -> eltSource
lookupWithDefaultUFM_Directly :: UniqFM elt -> elt -> Unique -> eltSource
eltsUFM :: UniqFM elt -> [elt]Source
keysUFM :: UniqFM elt -> [Unique]Source
splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)Source
ufmToList :: UniqFM elt -> [(Unique, elt)]Source
Produced by Haddock version 2.6.1