OmniSciDB
94e8789169
|
#include <LruCache.hpp>
Public Types | |
using | const_list_iterator_t = typename cache_list_t::const_iterator |
Public Member Functions | |
LruCache (const size_t max_size) | |
void | put (const key_t &key, value_t &&value) |
void | put (const key_t &key, const value_t &value) |
value_t * | get (const key_t &key) |
const_list_iterator_t | find (const key_t &key) const |
const_list_iterator_t | cend () const |
void | clear () |
void | evictFractionEntries (const float fraction) |
void | evictNEntries (const size_t n) |
Private Types | |
using | key_value_pair_t = typename std::pair< key_t, value_t > |
using | cache_list_t = typename std::list< key_value_pair_t > |
using | list_iterator_t = typename cache_list_t::iterator |
using | map_t = typename std::unordered_map< key_t, list_iterator_t, hash_t > |
using | map_t_iterator = typename map_t::iterator |
Private Member Functions | |
void | putCommon (map_t_iterator &it, key_t const &key) |
void | evictCommon (const size_t entries_to_evict) |
Private Attributes | |
cache_list_t | cache_items_list_ |
map_t | cache_items_map_ |
size_t | max_size_ |
Definition at line 16 of file LruCache.hpp.
|
private |
Definition at line 19 of file LruCache.hpp.
using LruCache< key_t, value_t, hash_t >::const_list_iterator_t = typename cache_list_t::const_iterator |
Definition at line 47 of file LruCache.hpp.
|
private |
Definition at line 18 of file LruCache.hpp.
|
private |
Definition at line 20 of file LruCache.hpp.
|
private |
Definition at line 21 of file LruCache.hpp.
|
private |
Definition at line 22 of file LruCache.hpp.
|
inline |
Definition at line 25 of file LruCache.hpp.
|
inline |
Definition at line 58 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_.
Referenced by LruCache< key_t, value_t, hash_t >::find(), and Executor::getCodeFromCache().
|
inline |
Definition at line 60 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, and LruCache< key_t, value_t, hash_t >::cache_items_map_.
Referenced by StubGenerator::clearCache(), and ResultSetReductionJIT::clearCache().
|
inlineprivate |
Definition at line 94 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, and LruCache< key_t, value_t, hash_t >::cache_items_map_.
Referenced by LruCache< key_t, value_t, hash_t >::evictFractionEntries(), and LruCache< key_t, value_t, hash_t >::evictNEntries().
|
inline |
Definition at line 65 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::evictCommon().
|
inline |
Definition at line 73 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::evictCommon().
|
inline |
Definition at line 49 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::cend().
Referenced by Executor::getCodeFromCache().
|
inline |
Definition at line 39 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, and LruCache< key_t, value_t, hash_t >::cache_items_map_.
Referenced by ResultSetReductionJIT::codegen(), and StubGenerator::generateStub().
|
inline |
Definition at line 27 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::putCommon().
Referenced by Executor::addCodeToCache().
|
inline |
Definition at line 33 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::putCommon().
|
inlineprivate |
Definition at line 79 of file LruCache.hpp.
References LruCache< key_t, value_t, hash_t >::cache_items_list_, LruCache< key_t, value_t, hash_t >::cache_items_map_, and LruCache< key_t, value_t, hash_t >::max_size_.
Referenced by LruCache< key_t, value_t, hash_t >::put().
|
private |
Definition at line 105 of file LruCache.hpp.
Referenced by LruCache< key_t, value_t, hash_t >::cend(), LruCache< key_t, value_t, hash_t >::clear(), LruCache< key_t, value_t, hash_t >::evictCommon(), LruCache< key_t, value_t, hash_t >::get(), LruCache< key_t, value_t, hash_t >::put(), and LruCache< key_t, value_t, hash_t >::putCommon().
|
private |
Definition at line 106 of file LruCache.hpp.
Referenced by LruCache< key_t, value_t, hash_t >::clear(), LruCache< key_t, value_t, hash_t >::evictCommon(), LruCache< key_t, value_t, hash_t >::evictFractionEntries(), LruCache< key_t, value_t, hash_t >::evictNEntries(), LruCache< key_t, value_t, hash_t >::find(), LruCache< key_t, value_t, hash_t >::get(), LruCache< key_t, value_t, hash_t >::put(), and LruCache< key_t, value_t, hash_t >::putCommon().
|
private |
Definition at line 107 of file LruCache.hpp.
Referenced by LruCache< key_t, value_t, hash_t >::putCommon().