Library: Foundation
Package: Cache
Header: Poco/LRUStrategy.h
Description
An LRUStrategy implements least recently used cache replacement.
Inheritance
Direct Base Classes: AbstractStrategy < TKey, TValue >
All Base Classes: AbstractStrategy < TKey, TValue >
Member Summary
Member Functions: onAdd, onClear, onGet, onIsValid, onRemove, onReplace
Types
ConstIndexIterator
typedef typename KeyIndex::const_iterator ConstIndexIterator;
ConstIterator
typedef typename Keys::const_iterator ConstIterator;
IndexIterator
typedef typename KeyIndex::iterator IndexIterator;
Iterator
typedef typename Keys::iterator Iterator;
KeyIndex
typedef std::map < TKey, Iterator > KeyIndex;
Keys
typedef std::list < TKey > Keys;
Constructors
LRUStrategy
LRUStrategy(
std::size_t size
);
Destructor
~LRUStrategy
~LRUStrategy();
Member Functions
onAdd
void onAdd(
const void * param233,
const KeyValueArgs < TKey, TValue > & args
);
onClear
void onClear(
const void * param236,
const EventArgs & args
);
onGet
void onGet(
const void * param235,
const TKey & key
);
onIsValid
void onIsValid(
const void * param237,
ValidArgs < TKey > & args
);
onRemove
void onRemove(
const void * param234,
const TKey & key
);
onReplace
void onReplace(
const void * param238,
std::set < TKey > & elemsToRemove
);
Variables
_keyIndex
KeyIndex _keyIndex;
For faster access to _keys
_keys
Keys _keys;
_size
std::size_t _size;
Number of keys the cache can store.