|
PACS System 0.1.0
PACS DICOM system library
|
Thread-safe LRU cache with TTL support. More...
#include <simple_lru_cache.h>


Classes | |
| struct | cache_entry |
Public Types | |
| using | key_type = Key |
| using | value_type = Value |
| using | size_type = std::size_t |
| using | clock_type = std::chrono::steady_clock |
| using | time_point = clock_type::time_point |
Public Member Functions | |
| simple_lru_cache (const cache_config &config=cache_config{}) | |
| Construct a cache with the given configuration. | |
| simple_lru_cache (size_type max_size, std::chrono::seconds ttl) | |
| Construct a cache with size and TTL. | |
| simple_lru_cache (const simple_lru_cache &)=delete | |
| Non-copyable. | |
| simple_lru_cache & | operator= (const simple_lru_cache &)=delete |
| simple_lru_cache (simple_lru_cache &&other) noexcept | |
| Movable. | |
| simple_lru_cache & | operator= (simple_lru_cache &&other) noexcept |
| ~simple_lru_cache ()=default | |
| std::optional< Value > | get (const Key &key) |
| Retrieve a value from the cache. | |
| void | put (const Key &key, const Value &value) |
| Store a value in the cache. | |
| void | put (const Key &key, Value &&value) |
| Store a value in the cache (move semantics) | |
| bool | contains (const Key &key) const |
| Check if a key exists in the cache (without affecting LRU order) | |
| bool | invalidate (const Key &key) |
| Remove a specific entry from the cache. | |
| template<typename Predicate > | |
| size_type | invalidate_if (Predicate pred) |
| void | clear () |
| Remove all entries from the cache. | |
| size_type | purge_expired () |
| Remove all expired entries from the cache. | |
| size_type | size () const |
| Get the current number of entries in the cache. | |
| bool | empty () const |
| Check if the cache is empty. | |
| size_type | max_size () const noexcept |
| Get the maximum cache size. | |
| std::chrono::seconds | ttl () const noexcept |
| Get the TTL duration. | |
| const std::string & | name () const noexcept |
| Get the cache name (for metrics identification) | |
| const cache_config & | config () const noexcept |
| Get the cache configuration. | |
| const cache_stats & | stats () const noexcept |
| Get cache statistics. | |
| double | hit_rate () const noexcept |
| Get the cache hit rate. | |
| void | reset_stats () noexcept |
| Reset cache statistics. | |
Private Types | |
| using | list_type = std::list<cache_entry> |
| using | list_iterator = typename list_type::iterator |
| using | map_type = std::unordered_map<Key, list_iterator, Hash, KeyEqual> |
Private Member Functions | |
| time_point | calculate_expiry () const |
| bool | is_expired (time_point expiry) const |
| bool | is_expired (time_point expiry, time_point now) const |
| void | evict_oldest () |
| void | remove_entry (typename map_type::iterator map_it) |
Private Attributes | |
| cache_config | config_ |
| size_type | max_size_ |
| std::shared_mutex | mutex_ |
| list_type | lru_list_ |
| map_type | cache_map_ |
| cache_stats | stats_ |
Thread-safe LRU cache with TTL support.
This class provides a least-recently-used (LRU) cache that automatically evicts the oldest entries when the cache reaches its maximum size. Each entry has a configurable time-to-live (TTL) after which it expires.
The implementation uses:
Thread Safety: All public methods are thread-safe. Read operations (get) use shared locks allowing concurrent reads. Write operations (put, invalidate, clear) use exclusive locks.
| Key | The key type (must be hashable and equality comparable) |
| Value | The value type (must be copy constructible) |
| Hash | Hash function for keys (defaults to std::hash<Key>) |
| KeyEqual | Equality comparison for keys (defaults to std::equal_to<Key>) |
Definition at line 177 of file simple_lru_cache.h.
| using kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::clock_type = std::chrono::steady_clock |
Definition at line 182 of file simple_lru_cache.h.
| using kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::key_type = Key |
Definition at line 179 of file simple_lru_cache.h.
|
private |
Definition at line 562 of file simple_lru_cache.h.
|
private |
Definition at line 561 of file simple_lru_cache.h.
|
private |
Definition at line 563 of file simple_lru_cache.h.
| using kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::size_type = std::size_t |
Definition at line 181 of file simple_lru_cache.h.
| using kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::time_point = clock_type::time_point |
Definition at line 183 of file simple_lru_cache.h.
| using kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::value_type = Value |
Definition at line 180 of file simple_lru_cache.h.
|
inlineexplicit |
Construct a cache with the given configuration.
| config | Cache configuration options |
Definition at line 193 of file simple_lru_cache.h.
|
inline |
Construct a cache with size and TTL.
| max_size | Maximum number of entries |
| ttl | Time-to-live for entries |
Definition at line 203 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_, kcenon::pacs::services::cache::cache_config::max_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_, kcenon::pacs::services::cache::cache_config::ttl, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::ttl().

|
delete |
Non-copyable.
|
inlinenoexcept |
Movable.
Definition at line 214 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_, and kcenon::pacs::services::other.
|
default |
|
inlinenodiscardprivate |
Definition at line 569 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_, and kcenon::pacs::services::cache::cache_config::ttl.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put().

|
inline |
Remove all entries from the cache.
Definition at line 429 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.
|
inlinenodiscardnoexcept |
Get the cache configuration.
Definition at line 517 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_.
|
inlinenodiscard |
Check if a key exists in the cache (without affecting LRU order)
Note: This does not check TTL expiration for performance reasons. Use get() if you need TTL-aware existence checking.
| key | The key to check |
Definition at line 357 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_.
|
inlinenodiscard |
Check if the cache is empty.
Definition at line 484 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_.
|
inlineprivate |
Definition at line 581 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::cache_stats::evictions, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put().

|
inlinenodiscard |
Retrieve a value from the cache.
If the key exists and the entry has not expired, returns the value and moves the entry to the front of the LRU list (most recently used). Expired entries are automatically removed.
| key | The key to look up |
Definition at line 253 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::expirations, kcenon::pacs::services::cache::cache_stats::hits, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::is_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::cache_stats::misses, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::remove_entry(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inlinenodiscardnoexcept |
Get the cache hit rate.
Definition at line 537 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::cache_stats::hit_rate(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inline |
Remove a specific entry from the cache.
| key | The key to remove |
Definition at line 368 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::remove_entry().

|
inline |
Definition at line 406 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.
|
inlinenodiscardprivate |
Definition at line 573 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::purge_expired().

|
inlinenodiscardprivate |
Definition at line 577 of file simple_lru_cache.h.
|
inlinenodiscardnoexcept |
Get the maximum cache size.
Definition at line 493 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_.
|
inlinenodiscardnoexcept |
Get the cache name (for metrics identification)
Definition at line 509 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::cache_config::cache_name, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_.
|
delete |
|
inlinenoexcept |
Definition at line 223 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::other.
|
inline |
Remove all expired entries from the cache.
This is useful for periodic cleanup to free memory from expired entries that haven't been accessed.
Definition at line 445 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::cache_stats::expirations, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::is_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inline |
Store a value in the cache.
If the key already exists, updates the value and moves to front. If the cache is full, evicts the least recently used entry.
| key | The key to store |
| value | The value to cache |
Definition at line 290 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::calculate_expiry(), kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::evict_oldest(), kcenon::pacs::services::cache::cache_stats::insertions, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inline |
Store a value in the cache (move semantics)
| key | The key to store |
| value | The value to cache (moved) |
Definition at line 322 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::calculate_expiry(), kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::evict_oldest(), kcenon::pacs::services::cache::cache_stats::insertions, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size_, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inlineprivate |
Definition at line 595 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, kcenon::pacs::services::cache::cache_stats::current_size, kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::lru_list_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate().

|
inlinenoexcept |
Reset cache statistics.
Resets all counters except current_size which reflects actual cache state.
Definition at line 546 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::cache_stats::reset(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.

|
inlinenodiscard |
Get the current number of entries in the cache.
Definition at line 475 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::cache_map_, and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::mutex_.
|
inlinenodiscardnoexcept |
Get cache statistics.
Definition at line 529 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats_.
|
inlinenodiscardnoexcept |
Get the TTL duration.
Definition at line 501 of file simple_lru_cache.h.
References kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config_, and kcenon::pacs::services::cache::cache_config::ttl.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache().

|
private |
Definition at line 610 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::clear(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::contains(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::empty(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::evict_oldest(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate_if(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::operator=(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::purge_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::remove_entry(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::size().
|
private |
Definition at line 605 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::calculate_expiry(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::config(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::name(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::operator=(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::ttl().
|
private |
Definition at line 609 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::clear(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::evict_oldest(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate_if(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::operator=(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::purge_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::remove_entry(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache().
|
private |
Definition at line 606 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::max_size(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::operator=(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::simple_lru_cache().
|
mutableprivate |
Definition at line 608 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::clear(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::contains(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::empty(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate_if(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::operator=(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::purge_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::size().
|
private |
Definition at line 612 of file simple_lru_cache.h.
Referenced by kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::clear(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::evict_oldest(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::get(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::hit_rate(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::invalidate_if(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::purge_expired(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::put(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::remove_entry(), kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::reset_stats(), and kcenon::pacs::services::cache::simple_lru_cache< Key, Value, Hash, KeyEqual >::stats().