userver: cache::NWayLRU< T, U, Hash, Equal > Class Template Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
cache::NWayLRU< T, U, Hash, Equal > Class Template Referencefinal

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

Detailed Description

template<typename T, typename U, typename Hash = std::hash<T>, typename Equal = std::equal_to<T>>
class cache::NWayLRU< T, U, Hash, Equal >

Definition at line 19 of file nway_lru_cache.hpp.

Constructor & Destructor Documentation

◆ NWayLRU()

template<typename T , typename U , typename Hash = std::hash<T>, typename Equal = std::equal_to<T>>
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.

Member Function Documentation

◆ Get() [1/2]

template<typename T , typename U , typename Hash = std::hash<T>, typename Equal = std::equal_to<T>>
std::optional< U > cache::NWayLRU< T, U, Hash, Equal >::Get ( const T &  key)
inline

Definition at line 29 of file nway_lru_cache.hpp.

◆ Get() [2/2]

template<typename T , typename U , typename Hash , typename Eq >
template<typename Validator >
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.

◆ GetOr()

template<typename T , typename U , typename Hash , typename Eq >
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.

◆ GetSize()

template<typename T , typename U , typename Hash , typename Eq >
size_t cache::NWayLRU< T, U, Hash, Eq >::GetSize ( ) const

Definition at line 147 of file nway_lru_cache.hpp.

◆ Invalidate()

template<typename T , typename U , typename Hash , typename Eq >
void cache::NWayLRU< T, U, Hash, Eq >::Invalidate ( )

Definition at line 129 of file nway_lru_cache.hpp.

◆ InvalidateByKey()

template<typename T , typename U , typename Hash , typename Eq >
void cache::NWayLRU< T, U, Hash, Eq >::InvalidateByKey ( const T &  key)

Definition at line 112 of file nway_lru_cache.hpp.

◆ Put()

template<typename T , typename U , typename Hash , typename Eq >
void cache::NWayLRU< T, U, Hash, Eq >::Put ( const T &  key,
value 
)

Definition at line 86 of file nway_lru_cache.hpp.

◆ Read()

template<typename T , typename U , typename Hash , typename Equal >
void cache::NWayLRU< T, U, Hash, Equal >::Read ( dump::Reader reader)

Definition at line 188 of file nway_lru_cache.hpp.

◆ SetDumper()

template<typename T , typename U , typename Hash , typename Equal >
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.

◆ UpdateWaySize()

template<typename T , typename U , typename Hash , typename Eq >
void cache::NWayLRU< T, U, Hash, Eq >::UpdateWaySize ( size_t  way_size)

Definition at line 157 of file nway_lru_cache.hpp.

◆ VisitAll()

template<typename T , typename U , typename Hash , typename Eq >
template<typename Function >
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.

◆ Write()

template<typename T , typename U , typename Hash , typename Equal >
void cache::NWayLRU< T, U, Hash, Equal >::Write ( dump::Writer writer) const

Definition at line 172 of file nway_lru_cache.hpp.


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