Public Types | Public Member Functions | Public Attributes
LRUCache< KeyT, CacheItemT > Class Template Reference

#include <lru_cache.hpp>

List of all members.

Public Types

typedef std::map< KeyT,
std::pair< CacheItemT,
typename KeyIndex::iterator > > 
Cache
typedef Cache::iterator CacheIterator
typedef std::list< KeyT > KeyIndex
typedef KeyIndex::iterator KeyIndexIterator

Public Member Functions

bool evict (int item_count=1)
CacheItemT & get (const KeyT &k)
bool hasKey (const KeyT &k)
bool insert (const KeyT &key, const CacheItemT &value)
 LRUCache (size_t c)
void setCapacity (size_t capacity)
size_t sizeOf (const CacheItemT &value)
CacheItemT & tailItem ()
void touch (const KeyT &key)

Public Attributes

Cache cache_
size_t capacity_
KeyIndex key_index_
size_t size_

Detailed Description

template<typename KeyT, typename CacheItemT>
class LRUCache< KeyT, CacheItemT >

Definition at line 27 of file lru_cache.hpp.


Member Typedef Documentation

template<typename KeyT , typename CacheItemT >
typedef std::map<KeyT, std::pair<CacheItemT, typename KeyIndex::iterator> > LRUCache< KeyT, CacheItemT >::Cache

Definition at line 34 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
typedef Cache::iterator LRUCache< KeyT, CacheItemT >::CacheIterator

Definition at line 35 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
typedef std::list<KeyT> LRUCache< KeyT, CacheItemT >::KeyIndex

Definition at line 31 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
typedef KeyIndex::iterator LRUCache< KeyT, CacheItemT >::KeyIndexIterator

Definition at line 32 of file lru_cache.hpp.


Constructor & Destructor Documentation

template<typename KeyT , typename CacheItemT >
LRUCache< KeyT, CacheItemT >::LRUCache ( size_t  c) [inline]

Definition at line 37 of file lru_cache.hpp.


Member Function Documentation

template<typename KeyT , typename CacheItemT >
bool LRUCache< KeyT, CacheItemT >::evict ( int  item_count = 1) [inline]

Definition at line 145 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
CacheItemT& LRUCache< KeyT, CacheItemT >::get ( const KeyT &  k) [inline]

Definition at line 50 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
bool LRUCache< KeyT, CacheItemT >::hasKey ( const KeyT &  k) [inline]

Definition at line 44 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
bool LRUCache< KeyT, CacheItemT >::insert ( const KeyT &  key,
const CacheItemT &  value 
) [inline]

Definition at line 76 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
void LRUCache< KeyT, CacheItemT >::setCapacity ( size_t  capacity) [inline]

Definition at line 125 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
size_t LRUCache< KeyT, CacheItemT >::sizeOf ( const CacheItemT &  value) [inline]

Definition at line 138 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
CacheItemT& LRUCache< KeyT, CacheItemT >::tailItem ( ) [inline]

Definition at line 131 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
void LRUCache< KeyT, CacheItemT >::touch ( const KeyT &  key) [inline]

Definition at line 64 of file lru_cache.hpp.


Member Data Documentation

template<typename KeyT , typename CacheItemT >
Cache LRUCache< KeyT, CacheItemT >::cache_

Definition at line 175 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
size_t LRUCache< KeyT, CacheItemT >::capacity_

Definition at line 166 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
KeyIndex LRUCache< KeyT, CacheItemT >::key_index_

Definition at line 172 of file lru_cache.hpp.

template<typename KeyT , typename CacheItemT >
size_t LRUCache< KeyT, CacheItemT >::size_

Definition at line 169 of file lru_cache.hpp.


The documentation for this class was generated from the following file:


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:38:50