93 template <
typename KEY,
typename VALUE,
typename KEY_EQUALS_COMPARER = equal_to<KEY>,
typename KEY_HASH_FUNCTION =
nullptr_t,
typename STATS_TYPE = Statistics::StatsType_DEFAULT>
99 using KeyEqualsCompareFunctionType = KEY_EQUALS_COMPARER;
102 using StatsType = STATS_TYPE;
130 requires (same_as<KEY_HASH_FUNCTION, nullptr_t> and same_as<KEY_EQUALS_COMPARER, equal_to<KEY>>);
131 LRUCache (
size_t maxCacheSize,
const KEY_EQUALS_COMPARER& keyEqualsComparer = {})
132 requires (same_as<KEY_HASH_FUNCTION, nullptr_t>);
133 LRUCache (
size_t maxCacheSize,
const KEY_EQUALS_COMPARER& keyEqualsComparer = {},
size_t hashTableSize = 1,
134 const KEY_HASH_FUNCTION& hashFunction = KEY_HASH_FUNCTION{})
135 requires (not same_as<KEY_HASH_FUNCTION, nullptr_t>);
136 LRUCache (
size_t maxCacheSize,
size_t hashTableSize,
const KEY_HASH_FUNCTION& hashFunction = KEY_HASH_FUNCTION{})
137 requires (not same_as<KEY_HASH_FUNCTION, nullptr_t>);
141 requires (same_as<KEY_HASH_FUNCTION, nullptr_t>);
143 requires (not same_as<KEY_HASH_FUNCTION, nullptr_t>);
154 nonvirtual
size_t GetMaxCacheSize ()
const;
165 nonvirtual KeyEqualsCompareFunctionType GetKeyEqualsCompareFunction ()
const;
170 nonvirtual StatsType GetStats ()
const;
175 nonvirtual
size_t GetHashTableSize ()
const;
186 nonvirtual
void clear ();
261 [[
deprecated (
"Since Stroika v3.0d5 use Cache::Factory::LRUCache_WithHash or NoHash")]]
LRUCache (
267 [[
deprecated (
"Since Stroika v3.0d5 use Cache::Factory::LRUCache_WithHash or NoHash")]]
LRUCache (
274 const size_t fHashtableSize_{1};
277 struct KeyValuePair_ {
294 struct CacheElement_;
295 struct CacheIterator_;
297 nonvirtual CacheIterator_ begin_ ()
const;
298 nonvirtual CacheIterator_ end_ ()
const;
300 nonvirtual
void ClearCache_ ();
320 nonvirtual
void ShuffleToHead_ (
size_t chainIdx, CacheElement_*
b);
359 template <
typename KEY,
typename VALUE,
typename STATS_TYPE = Statistics::StatsType_DEFAULT,
typename DEFAULT_KEY_EQUALS_COMPARER = equal_to<KEY>>
conditional_t<(sizeof(CHECK_T)<=2 *sizeof(void *)) and is_trivially_copyable_v< CHECK_T >, CHECK_T, const CHECK_T & > ArgByValueType
This is an alias for 'T' - but how we want to pass it on stack as formal parameter.