expiring-containers-0.2: Expiring containers

Safe HaskellNone
LanguageHaskell2010

ExpiringContainers.ExpiringSet

Contents

Synopsis

Documentation

data ExpiringSet element Source #

Set that expiring with time

Instances

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

Associated Types

type Item (ExpiringSet a) :: * #

Eq element => Eq (ExpiringSet element) Source # 

Methods

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

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

Show element => Show (ExpiringSet element) Source # 

Methods

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

show :: ExpiringSet element -> String #

showList :: [ExpiringSet element] -> ShowS #

Generic (ExpiringSet element) Source # 

Associated Types

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

Methods

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

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

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

Construction

empty :: (Eq a, Hashable a) => ExpiringSet a Source #

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

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 #

Filter

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

Clean expiringset