Loading...
Searching...
No Matches
LRUCache< KeyT, CacheItemT > Class Template Reference

`#include <pcl/outofcore/impl/lru_cache.hpp>`

## Public Types

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

## Public Member Functions

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

## Public Attributes

std::size_t | capacity_
std::size_t | size_ {0}
KeyIndex | key_index_
Cache | cache_

## Detailed Description

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

Definition at line 30 of file lru_cache.hpp.

## Member Typedef Documentation

## Cache

template<typename KeyT, typename CacheItemT>

using LRUCache< KeyT, CacheItemT >::Cache = std::map<KeyT, std::pair<CacheItemT, typename KeyIndex::iterator> >

Definition at line 37 of file lru_cache.hpp.

## CacheIterator

template<typename KeyT, typename CacheItemT>

using LRUCache< KeyT, CacheItemT >::CacheIterator = typename Cache::iterator

Definition at line 38 of file lru_cache.hpp.

## KeyIndex

template<typename KeyT, typename CacheItemT>

using LRUCache< KeyT, CacheItemT >::KeyIndex = std::list<KeyT>

Definition at line 34 of file lru_cache.hpp.

## KeyIndexIterator

template<typename KeyT, typename CacheItemT>

using LRUCache< KeyT, CacheItemT >::KeyIndexIterator = typename KeyIndex::iterator

Definition at line 35 of file lru_cache.hpp.

## Constructor & Destructor Documentation

## LRUCache()

template<typename KeyT, typename CacheItemT>

LRUCache< KeyT, CacheItemT >::LRUCache | ( | std::size_t | c | ) |

inline

Definition at line 40 of file lru_cache.hpp.

## Member Function Documentation

## evict()

template<typename KeyT, typename CacheItemT>

bool LRUCache< KeyT, CacheItemT >::evict | ( | int | item_count = 1 | ) |

inline

Definition at line 148 of file lru_cache.hpp.

Referenced by LRUCache< std::string, CloudDataCacheItem >::insert().

## get()

template<typename KeyT, typename CacheItemT>

CacheItemT & LRUCache< KeyT, CacheItemT >::get | ( | const KeyT & | k | ) |

inline

Definition at line 53 of file lru_cache.hpp.

## hasKey()

template<typename KeyT, typename CacheItemT>

bool LRUCache< KeyT, CacheItemT >::hasKey | ( | const KeyT & | k | ) |

inline

Definition at line 47 of file lru_cache.hpp.

## insert()

template<typename KeyT, typename CacheItemT>

bool LRUCache< KeyT, CacheItemT >::insert | ( | const KeyT & | key,
|  | const CacheItemT & | value )

inline

Definition at line 79 of file lru_cache.hpp.

## setCapacity()

template<typename KeyT, typename CacheItemT>

void LRUCache< KeyT, CacheItemT >::setCapacity | ( | std::size_t | capacity | ) |

inline

Definition at line 128 of file lru_cache.hpp.

## sizeOf()

template<typename KeyT, typename CacheItemT>

std::size_t LRUCache< KeyT, CacheItemT >::sizeOf | ( | const CacheItemT & | value | ) |

inline

Definition at line 141 of file lru_cache.hpp.

## tailItem()

template<typename KeyT, typename CacheItemT>

CacheItemT & LRUCache< KeyT, CacheItemT >::tailItem | ( |  | ) |

inline

Definition at line 134 of file lru_cache.hpp.

## touch()

template<typename KeyT, typename CacheItemT>

void LRUCache< KeyT, CacheItemT >::touch | ( | const KeyT & | key | ) |

inline

Definition at line 67 of file lru_cache.hpp.

Referenced by LRUCache< std::string, CloudDataCacheItem >::insert().

## Member Data Documentation

## cache_

template<typename KeyT, typename CacheItemT>

Cache LRUCache< KeyT, CacheItemT >::cache_

Definition at line 178 of file lru_cache.hpp.

## capacity_

template<typename KeyT, typename CacheItemT>

std::size_t LRUCache< KeyT, CacheItemT >::capacity_

Definition at line 169 of file lru_cache.hpp.

## key_index_

template<typename KeyT, typename CacheItemT>

KeyIndex LRUCache< KeyT, CacheItemT >::key_index_

Definition at line 175 of file lru_cache.hpp.

## size_

template<typename KeyT, typename CacheItemT>

std::size_t LRUCache< KeyT, CacheItemT >::size_ {0}

Definition at line 172 of file lru_cache.hpp.

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

- pcl/outofcore/impl/lru_cache.hpp