lrucaching-0.1.0: LRU cache

Copyright(c) Moritz Kiefer, 2016 (c) Jasper Van der Jeugt, 2015
LicenseBSD3
Maintainermoritz.kiefer@purelyfunctional.org
Safe HaskellNone
LanguageHaskell2010

Data.LruCache.Internal

Description

This module contains internal datastructures. No guarantees are made as to the stability of this module and violating invariants can result in unspecified behavior.

Synopsis

Documentation

data LruCache k v Source #

LRU cache based on hashing. The times of access are stored in a monotonically increasing Int64, when that time is at maxbound the cache is emptied.

Constructors

LruCache 

Fields

Instances

Functor (LruCache k) Source # 

Methods

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

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

Foldable (LruCache k) Source # 

Methods

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

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

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

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

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

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

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

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

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

null :: LruCache k a -> Bool #

length :: LruCache k a -> Int #

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

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

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

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

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

Traversable (LruCache k) Source # 

Methods

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

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

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

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

(Eq v, Ord k, Hashable k) => Eq (LruCache k v) Source # 

Methods

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

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

(Show k, Show v) => Show (LruCache k v) Source # 

Methods

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

show :: LruCache k v -> String #

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

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

Methods

rnf :: LruCache k v -> () #

type Priority = Int64 Source #

Logical time at which an element was last accessed.