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>>
typedef list_type::const_iterator Dune::lru< Key, Tp, Traits >::const_iterator |
◆ const_pointer
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
using Dune::lru< Key, Tp, Traits >::const_pointer = typename allocator::value_type const* |
◆ const_reference
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
using Dune::lru< Key, Tp, Traits >::const_reference = typename allocator::value_type const& |
◆ iterator
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
typedef list_type::iterator Dune::lru< Key, Tp, Traits >::iterator |
◆ key_type
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
typedef Traits::key_type Dune::lru< Key, Tp, Traits >::key_type |
◆ pointer
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
using Dune::lru< Key, Tp, Traits >::pointer = typename allocator::value_type* |
◆ reference
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
using Dune::lru< Key, Tp, Traits >::reference = typename allocator::value_type& |
◆ size_type
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
typedef allocator::size_type Dune::lru< Key, Tp, Traits >::size_type |
◆ value_type
template<typename Key , typename Tp , typename Traits = _lru_default_traits<Key, Tp>>
typedef allocator::value_type Dune::lru< Key, Tp, Traits >::value_type |
◆ 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>>
◆ 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>>
mark data associated with key as most recent
- Returns
- reference of stored data
◆ insert() [2/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
◆ 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: