strict-data-0.2.0.2: A collection of commonly used strict data structures

Safe HaskellNone
LanguageHaskell2010

Data.Map.Unordered

Description

An unordered, strict map.

Synopsis

Documentation

data USMap k v Source #

Instances

Functor (USMap k) Source # 

Methods

fmap :: (a -> b) -> USMap k a -> USMap k b #

(<$) :: a -> USMap k b -> USMap k a #

Foldable (USMap k) Source # 

Methods

fold :: Monoid m => USMap k m -> m #

foldMap :: Monoid m => (a -> m) -> USMap k a -> m #

foldr :: (a -> b -> b) -> b -> USMap k a -> b #

foldr' :: (a -> b -> b) -> b -> USMap k a -> b #

foldl :: (b -> a -> b) -> b -> USMap k a -> b #

foldl' :: (b -> a -> b) -> b -> USMap k a -> b #

foldr1 :: (a -> a -> a) -> USMap k a -> a #

foldl1 :: (a -> a -> a) -> USMap k a -> a #

toList :: USMap k a -> [a] #

null :: USMap k a -> Bool #

length :: USMap k a -> Int #

elem :: Eq a => a -> USMap k a -> Bool #

maximum :: Ord a => USMap k a -> a #

minimum :: Ord a => USMap k a -> a #

sum :: Num a => USMap k a -> a #

product :: Num a => USMap k a -> a #

Traversable (USMap k) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> USMap k a -> f (USMap k b) #

sequenceA :: Applicative f => USMap k (f a) -> f (USMap k a) #

mapM :: Monad m => (a -> m b) -> USMap k a -> m (USMap k b) #

sequence :: Monad m => USMap k (m a) -> m (USMap k a) #

(Eq v, Eq k) => Eq (USMap k v) Source # 

Methods

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

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

(Hashable k, Eq k, Data v, Data k) => Data (USMap k v) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> USMap k v -> c (USMap k v) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (USMap k v) #

toConstr :: USMap k v -> Constr #

dataTypeOf :: USMap k v -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (USMap k v)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (USMap k v)) #

gmapT :: (forall b. Data b => b -> b) -> USMap k v -> USMap k v #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> USMap k v -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> USMap k v -> r #

gmapQ :: (forall d. Data d => d -> u) -> USMap k v -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> USMap k v -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> USMap k v -> m (USMap k v) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> USMap k v -> m (USMap k v) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> USMap k v -> m (USMap k v) #

(Hashable k, Eq k, Read k, Read v) => Read (USMap k v) Source # 
(Show k, Show v) => Show (USMap k v) Source # 

Methods

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

show :: USMap k v -> String #

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

(Hashable k, Eq k) => Monoid (USMap k v) Source # 

Methods

mempty :: USMap k v #

mappend :: USMap k v -> USMap k v -> USMap k v #

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

(Hashable k, Eq k, Arbitrary k, Arbitrary v) => Arbitrary (USMap k v) Source # 

Methods

arbitrary :: Gen (USMap k v) #

shrink :: USMap k v -> [USMap k v] #

(Hashable k, Hashable v) => Hashable (USMap k v) Source # 

Methods

hashWithSalt :: Int -> USMap k v -> Int #

hash :: USMap k v -> Int #

(NFData k, NFData v) => NFData (USMap k v) Source # 

Methods

rnf :: USMap k v -> () #

type Map = USMap Source #

lookup :: (Eq k, Show k, Hashable k, Monad m) => k -> USMap k v -> m v Source #

insert :: (Eq k, Hashable k) => k -> v -> USMap k v -> USMap k v Source #

delete :: (Eq k, Hashable k) => k -> USMap k v -> USMap k v Source #

fromList :: (Eq k, Hashable k) => [(k, v)] -> USMap k v Source #

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

map :: (v -> v') -> USMap k v -> USMap k v' Source #

singleton :: Hashable k => k -> v -> USMap k v Source #

insertWith :: (Eq k, Hashable k) => (v -> v -> v) -> k -> v -> USMap k v -> USMap k v Source #

member :: (Eq k, Hashable k) => k -> USMap k v -> Bool Source #

elems :: USMap k v -> [v] Source #

unionWith :: (Hashable k, Eq k) => (v -> v -> v) -> USMap k v -> USMap k v -> USMap k v Source #

difference :: (Eq k, Hashable k) => USMap k v -> USMap k w -> USMap k v Source #

union :: (Hashable k, Eq k) => USMap k v -> USMap k v -> USMap k v Source #

findWithDefault :: (Eq k, Hashable k) => a -> k -> USMap k a -> a Source #

size :: USMap k v -> Int Source #

null :: USMap k v -> Bool Source #

isSubmapOf :: (Hashable k, Eq k) => USMap k a -> USMap k a -> Bool Source #

intersection :: (Eq k, Hashable k) => USMap k v -> USMap k w -> USMap k v Source #

foldrWithKey :: (k -> v -> a -> a) -> a -> USMap k v -> a Source #

foldlWithKey :: (a -> k -> v -> a) -> a -> USMap k v -> a Source #

Warning: This function is strict. Better explicitly use USMap.foldlWithKey'

foldlWithKey' :: (a -> k -> v -> a) -> a -> USMap k v -> a Source #

keys :: USMap k v -> [k] Source #

insertLookupWithKey :: (Eq k, Hashable k) => (k -> a -> a -> a) -> k -> a -> USMap k a -> (Maybe a, USMap k a) Source #

updateLookupWithKey :: (Eq k, Hashable k) => (k -> a -> Maybe a) -> k -> USMap k a -> (Maybe a, USMap k a) Source #

adjust :: (Eq k, Hashable k) => (a -> a) -> k -> USMap k a -> USMap k a Source #

deleteLookup :: (Eq k, Hashable k) => k -> USMap k a -> (Maybe a, USMap k a) Source #

assocs :: USMap k a -> [(k, a)] Source #

insertWith' :: (Eq k, Hashable k) => (a -> a -> a) -> k -> a -> USMap k a -> USMap k a Source #

update :: (Eq k, Hashable k) => (a -> Maybe a) -> k -> USMap k a -> USMap k a Source #

alter :: (Eq k, Hashable k) => (Maybe a -> Maybe a) -> k -> USMap k a -> USMap k a Source #

lookup' :: (Eq k, Hashable k) => k -> USMap k v -> Maybe v Source #

unions :: (Hashable k, Eq k) => [USMap k a] -> USMap k a Source #

filter :: (v -> Bool) -> USMap k v -> USMap k v Source #

filterWithKey :: (k -> v -> Bool) -> USMap k v -> USMap k v Source #

keysSet :: (Eq k, Hashable k) => USMap k v -> HashSet k Source #

lookupDefault :: (Eq k, Hashable k) => v -> k -> USMap k v -> v Source #

fromListWith :: (Eq k, Hashable k) => (v -> v -> v) -> [(k, v)] -> USMap k v Source #

mapMaybe :: (v -> Maybe v') -> USMap k v -> USMap k v' Source #

unionsWith :: (Hashable k, Eq k) => (a -> a -> a) -> [USMap k a] -> USMap k a Source #