LRU Cache Container.
More...
#include <dune/common/lru.hh>
template<typename _Key, typename _Tp, typename _Traits = _lru_default_traits<_Key, _Tp>>
class Dune::lru< _Key, _Tp, _Traits >
LRU Cache Container.
Implementation of an LRU (least recently used) cache container. This implementation follows the approach presented in http://aim.adc.rmit.edu.au/phd/sgreuter/papers/graphite2003.pdf
§ const_iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ const_pointer
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ const_reference
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ key_type
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ pointer
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ reference
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ size_type
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ value_type
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
§ back() [1/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Returns a read/write reference to the data of the least recently used entry.
§ back() [2/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Returns a read-only (constant) reference to the data of the least recently used entry.
§ clear()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
void Dune::lru< _Key, _Tp, _Traits >::clear |
( |
| ) |
|
|
inline |
§ find() [1/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Finds the element whose key is k.
- Returns
- iterator
§ find() [2/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Finds the element whose key is k.
- Returns
- const_iterator
§ front() [1/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Returns a read/write reference to the data of the most recently used entry.
§ front() [2/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Returns a read-only (constant) reference to the data of the most recently used entry.
§ insert() [1/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Insert a value into the container.
Stores value under key and marks it as most recent. If this key is already present, the associated data is replaced.
- Parameters
-
key | associated with data |
data | to store |
- Returns
- reference of stored data
§ insert() [2/2]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
mark data associated with key as most recent
- Returns
- reference of stored data
§ pop_back()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
void Dune::lru< _Key, _Tp, _Traits >::pop_back |
( |
| ) |
|
|
inline |
Removes the last element.
§ pop_front()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
void Dune::lru< _Key, _Tp, _Traits >::pop_front |
( |
| ) |
|
|
inline |
Removes the first element.
§ resize()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
ensure a maximum size of the container
If new_size is smaller than size the oldest elements are dropped. Otherwise nothing happens.
§ size()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
Retrieve number of entries in the container.
§ touch()
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
mark data associated with key as most recent
- Returns
- reference of stored data
The documentation for this class was generated from the following file: