Maintainer | Ertugrul Soeylemez <es@ertes.de> |
---|
This module implements a map, where each key has a timestamp. It maintains a timestamp index allowing you delete oldest entries quickly.
- data TimedMap t k a = TimedMap {}
- tmEmpty :: TimedMap t k a
- tmFindWithDefault :: Ord k => a -> k -> TimedMap t k a -> a
- tmLookup :: Ord k => k -> TimedMap t k a -> Maybe a
- tmInsert :: (Ord k, Ord t) => t -> k -> a -> TimedMap t k a -> TimedMap t k a
- tmLimitAge :: (Ord t, Ord k) => t -> TimedMap t k a -> TimedMap t k a
- tmLimitSize :: Ord k => Int -> TimedMap t k a -> TimedMap t k a
Timed map
A timed map is a regular map with timestamps and a timestamp index.
Operations
Construct
Read
:: Ord k | |
=> a | Default, if key is not found. |
-> k | Key to look up. |
-> TimedMap t k a | Map to query. |
-> a | Retrieved or default value. |
Find a value with default.
Modify
:: (Ord k, Ord t) | |
=> t | Timestamp. |
-> k | Key. |
-> a | Value. |
-> TimedMap t k a | Original map. |
-> TimedMap t k a | Map with the value added. |
Insert a value into the map.