expiring-containers-0.2.2.1: Expiring containers

Safe HaskellNone
LanguageHaskell2010

ExpiringContainers.ExpiringSet

Contents

Synopsis

Documentation

data ExpiringSet element Source #

Set that expiring with time

Instances
Foldable ExpiringSet Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

Methods

fold :: Monoid m => ExpiringSet m -> m #

foldMap :: Monoid m => (a -> m) -> ExpiringSet a -> m #

foldr :: (a -> b -> b) -> b -> ExpiringSet a -> b #

foldr' :: (a -> b -> b) -> b -> ExpiringSet a -> b #

foldl :: (b -> a -> b) -> b -> ExpiringSet a -> b #

foldl' :: (b -> a -> b) -> b -> ExpiringSet a -> b #

foldr1 :: (a -> a -> a) -> ExpiringSet a -> a #

foldl1 :: (a -> a -> a) -> ExpiringSet a -> a #

toList :: ExpiringSet a -> [a] #

null :: ExpiringSet a -> Bool #

length :: ExpiringSet a -> Int #

elem :: Eq a => a -> ExpiringSet a -> Bool #

maximum :: Ord a => ExpiringSet a -> a #

minimum :: Ord a => ExpiringSet a -> a #

sum :: Num a => ExpiringSet a -> a #

product :: Num a => ExpiringSet a -> a #

(Eq a, Hashable a) => IsList (ExpiringSet a) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

Associated Types

type Item (ExpiringSet a) :: Type #

Eq element => Eq (ExpiringSet element) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

Methods

(==) :: ExpiringSet element -> ExpiringSet element -> Bool #

(/=) :: ExpiringSet element -> ExpiringSet element -> Bool #

Show element => Show (ExpiringSet element) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

Methods

showsPrec :: Int -> ExpiringSet element -> ShowS #

show :: ExpiringSet element -> String #

showList :: [ExpiringSet element] -> ShowS #

Generic (ExpiringSet element) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

Associated Types

type Rep (ExpiringSet element) :: Type -> Type #

Methods

from :: ExpiringSet element -> Rep (ExpiringSet element) x #

to :: Rep (ExpiringSet element) x -> ExpiringSet element #

type Rep (ExpiringSet element) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

type Rep (ExpiringSet element) = D1 (MetaData "ExpiringSet" "ExpiringContainers.ExpiringSet" "expiring-containers-0.2.2.1-HmcZu18vCMAKRCms8rbWQU" False) (C1 (MetaCons "ExpiringSet" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (IntMultimap element)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (HashMap element Int))))
type Item (ExpiringSet a) Source # 
Instance details

Defined in ExpiringContainers.ExpiringSet

type Item (ExpiringSet a) = (UTCTime, a)

Construction

List

fromList :: (Eq a, Hashable a) => [(UTCTime, a)] -> ExpiringSet a Source #

Transformations

map :: (Eq b, Hashable b) => (a -> b) -> ExpiringSet a -> ExpiringSet b Source #

Basic interface

insert Source #

Arguments

:: (Hashable element, Eq element) 
=> UTCTime

Expiry time

-> element 
-> ExpiringSet element 
-> ExpiringSet element 
 

insertForce Source #

Arguments

:: (Hashable element, Eq element) 
=> UTCTime

Expiry time

-> element 
-> ExpiringSet element 
-> ExpiringSet element 

delete :: (Hashable element, Eq element) => element -> ExpiringSet element -> ExpiringSet element Source #

member :: (Eq a, Hashable a) => a -> ExpiringSet a -> Bool Source #

lookup :: (Eq a, Hashable a) => a -> ExpiringSet a -> Maybe UTCTime Source #

Check whether the set contains the element, and if it does return the element's associated time.

Filter

clean :: (Hashable element, Eq element) => UTCTime -> ExpiringSet element -> ([element], ExpiringSet element) Source #

Clean expiringset