Public Member Functions | |
NWayLRU (size_t ways, size_t way_size, const Hash &hash=Hash(), const Equal &equal=Equal()) | |
void | Put (const T &key, U value) |
template<typename Validator > | |
std::optional< U > | Get (const T &key, Validator validator) |
std::optional< U > | Get (const T &key) |
U | GetOr (const T &key, const U &default_value) |
void | Invalidate () |
void | InvalidateByKey (const T &key) |
template<typename Function > | |
void | VisitAll (Function func) const |
Iterates over all items. May be slow for big caches. | |
size_t | GetSize () const |
void | UpdateWaySize (size_t way_size) |
void | Write (dump::Writer &writer) const |
void | Read (dump::Reader &reader) |
void | SetDumper (std::shared_ptr< dump::Dumper > dumper) |
Definition at line 19 of file nway_lru_cache.hpp.
cache::NWayLRU< T, U, Hash, Eq >::NWayLRU | ( | size_t | ways, |
size_t | way_size, | ||
const Hash & | hash = Hash() , |
||
const Equal & | equal = Equal() |
||
) |
Definition at line 75 of file nway_lru_cache.hpp.
|
inline |
Definition at line 29 of file nway_lru_cache.hpp.
std::optional< U > cache::NWayLRU< T, U, Hash, Eq >::Get | ( | const T & | key, |
Validator | validator | ||
) |
Definition at line 97 of file nway_lru_cache.hpp.
U cache::NWayLRU< T, U, Hash, Eq >::GetOr | ( | const T & | key, |
const U & | default_value | ||
) |
Definition at line 122 of file nway_lru_cache.hpp.
size_t cache::NWayLRU< T, U, Hash, Eq >::GetSize | ( | ) | const |
Definition at line 147 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Eq >::Invalidate | ( | ) |
Definition at line 129 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Eq >::InvalidateByKey | ( | const T & | key | ) |
Definition at line 112 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Eq >::Put | ( | const T & | key, |
U | value | ||
) |
Definition at line 86 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Equal >::Read | ( | dump::Reader & | reader | ) |
Definition at line 188 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Equal >::SetDumper | ( | std::shared_ptr< dump::Dumper > | dumper | ) |
The dump::Dumper will be notified of any cache updates. This method is not thread-safe.
Definition at line 210 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Eq >::UpdateWaySize | ( | size_t | way_size | ) |
Definition at line 157 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Eq >::VisitAll | ( | Function | func | ) | const |
Iterates over all items. May be slow for big caches.
Definition at line 139 of file nway_lru_cache.hpp.
void cache::NWayLRU< T, U, Hash, Equal >::Write | ( | dump::Writer & | writer | ) | const |
Definition at line 172 of file nway_lru_cache.hpp.