net-mqtt-0.8.6.0: An MQTT Protocol Implementation.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Map.Strict.Expiring

Contents

Synopsis

Documentation

data Map g k a Source #

A map of values that expire after a given generation.

Instances

Instances details
Ord g => Foldable (Map g k) Source # 
Instance details

Defined in Data.Map.Strict.Expiring

Methods

fold :: Monoid m => Map g k m -> m #

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

foldMap' :: Monoid m => (a -> m) -> Map g k a -> m #

foldr :: (a -> b -> b) -> b -> Map g k a -> b #

foldr' :: (a -> b -> b) -> b -> Map g k a -> b #

foldl :: (b -> a -> b) -> b -> Map g k a -> b #

foldl' :: (b -> a -> b) -> b -> Map g k a -> b #

foldr1 :: (a -> a -> a) -> Map g k a -> a #

foldl1 :: (a -> a -> a) -> Map g k a -> a #

toList :: Map g k a -> [a] #

null :: Map g k a -> Bool #

length :: Map g k a -> Int #

elem :: Eq a => a -> Map g k a -> Bool #

maximum :: Ord a => Map g k a -> a #

minimum :: Ord a => Map g k a -> a #

sum :: Num a => Map g k a -> a #

product :: Num a => Map g k a -> a #

Functor (Map g k) Source # 
Instance details

Defined in Data.Map.Strict.Expiring

Methods

fmap :: (a -> b) -> Map g k a -> Map g k b #

(<$) :: a -> Map g k b -> Map g k a #

(Show k, Show a, Show g) => Show (Map g k a) Source # 
Instance details

Defined in Data.Map.Strict.Expiring

Methods

showsPrec :: Int -> Map g k a -> ShowS #

show :: Map g k a -> String #

showList :: [Map g k a] -> ShowS #

new :: g -> Map g k a Source #

Make a new empty Map at the starting generation.

generation :: Map g k a -> g Source #

The current generation

newGen :: (Ord k, Ord g) => g -> Map g k a -> Map g k a Source #

𝑂(log𝑛). Assign the next generation and expire any data this new generation invalidates. The generation may never decrease. Attempts to decrease it are ignored.

insert :: (Ord k, Ord g) => g -> k -> a -> Map g k a -> Map g k a Source #

𝑂(log𝑛). Insert a new value into the map to expire after the given generation. alterF :: (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> Map k a -> f (Map k a)

delete :: (Ord k, Ord g) => k -> Map g k a -> Map g k a Source #

𝑂(log𝑛). Delete an item.

lookup :: (Ord k, Ord g) => k -> Map g k a -> Maybe a Source #

𝑂(log𝑛). Lookup a value in the map. This will not return any items that have expired.

updateLookupWithKey :: (Ord g, Ord k) => g -> (k -> a -> Maybe a) -> k -> Map g k a -> (Maybe a, Map g k a) Source #

𝑂(log𝑛). Lookup and update. The function returns changed value, if it is updated. Returns the original key value if the map entry is deleted.

assocs :: Ord g => Map g k a -> [(k, a)] Source #

𝑂(𝑛). Return all current key/value associations.

for testing

inspect :: Ord k => Map g k a -> (Int, g, Int) Source #

Inspect stored size for testing.