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: