Dune::lru< _Key, _Tp, _Traits > Class Template Reference

LRU Cache Container. More...

#include <dune/common/lru.hh>

List of all members.

Public Types

typedef _Traits::key_type key_type
typedef allocator::value_type value_type
typedef allocator::pointer pointer
typedef allocator::const_pointer const_pointer
typedef allocator::const_reference const_reference
typedef allocator::reference reference
typedef allocator::size_type size_type
typedef list_type::iterator iterator
typedef list_type::const_iterator const_iterator

Public Member Functions

reference front ()
const_reference front () const
reference back ()
const_reference back (int i) const
void pop_front ()
 Removes the first element.
void pop_back ()
 Removes the last element.
iterator find (const key_type &key)
 Finds the element whose key is k.
const_iterator find (const key_type &key) const
 Finds the element whose key is k.
reference insert (const key_type &key, const_reference data)
 Insert a value into the container.
reference insert (const key_type &key)
reference touch (const key_type &key)
 mark data associated with key as most recent
size_type size () const
 Retrieve number of entries in the container.
void resize (size_type new_size)
 ensure a maximum size of the container
void clear ()

Detailed Description

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


Member Typedef Documentation

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef list_type::const_iterator Dune::lru< _Key, _Tp, _Traits >::const_iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::const_pointer Dune::lru< _Key, _Tp, _Traits >::const_pointer
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::const_reference Dune::lru< _Key, _Tp, _Traits >::const_reference
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef list_type::iterator Dune::lru< _Key, _Tp, _Traits >::iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef _Traits::key_type Dune::lru< _Key, _Tp, _Traits >::key_type
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::pointer Dune::lru< _Key, _Tp, _Traits >::pointer
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::reference Dune::lru< _Key, _Tp, _Traits >::reference
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::size_type Dune::lru< _Key, _Tp, _Traits >::size_type
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
typedef allocator::value_type Dune::lru< _Key, _Tp, _Traits >::value_type

Member Function Documentation

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
const_reference Dune::lru< _Key, _Tp, _Traits >::back ( int  i  )  const [inline]

Returns a read-only (constant) reference to the data of the least recently used entry.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
reference Dune::lru< _Key, _Tp, _Traits >::back (  )  [inline]

Returns a read/write reference to the data of the least recently used entry.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
void Dune::lru< _Key, _Tp, _Traits >::clear (  )  [inline]
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
const_iterator Dune::lru< _Key, _Tp, _Traits >::find ( const key_type key  )  const [inline]

Finds the element whose key is k.

Returns:
const_iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
iterator Dune::lru< _Key, _Tp, _Traits >::find ( const key_type key  )  [inline]

Finds the element whose key is k.

Returns:
iterator
template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
const_reference Dune::lru< _Key, _Tp, _Traits >::front (  )  const [inline]

Returns a read-only (constant) reference to the data of the most recently used entry.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
reference Dune::lru< _Key, _Tp, _Traits >::front (  )  [inline]

Returns a read/write reference to the data of the most recently used entry.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
reference Dune::lru< _Key, _Tp, _Traits >::insert ( const key_type key  )  [inline]

mark data associated with key as most recent

Returns:
reference of stored data

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
reference Dune::lru< _Key, _Tp, _Traits >::insert ( const key_type key,
const_reference  data 
) [inline]

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
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.

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.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
void Dune::lru< _Key, _Tp, _Traits >::resize ( size_type  new_size  )  [inline]

ensure a maximum size of the container

If new_size is smaller than size the oldest elements are dropped. Otherwise nothing happens.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
size_type Dune::lru< _Key, _Tp, _Traits >::size (  )  const [inline]

Retrieve number of entries in the container.

template<typename _Key , typename _Tp , typename _Traits = _lru_default_traits<_Key, _Tp>>
reference Dune::lru< _Key, _Tp, _Traits >::touch ( const key_type key  )  [inline]

mark data associated with key as most recent

Returns:
reference of stored data

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 25 Mar 2018 for dune-common by  doxygen 1.6.1