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 * param269,
    const KeyValueArgs < TKey, TValue > & args
);
onClear  
 
void onClear(
    const void * param272,
    const EventArgs & args
);
onGet  
 
void onGet(
    const void * param271,
    const TKey & key
);
onIsValid  
 
void onIsValid(
    const void * param273,
    ValidArgs < TKey > & args
);
onRemove  
 
void onRemove(
    const void * param270,
    const TKey & key
);
onReplace  
 
void onReplace(
    const void * param274,
    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.