26#ifndef MYSQL_HARNESS_UTILITY_CACHE_LRU_H_
27#define MYSQL_HARNESS_UTILITY_CACHE_LRU_H_
42 template <
typename Key, u
int32_t size>
62 if (out_key) *out_key =
key;
71 if constexpr (std::movable<Key>) {
89 template <
typename Key>
112 if (out_key) *out_key =
key;
119 if (
buffer_.empty())
return nullptr;
121 if constexpr (std::movable<Key>) {
std::list< Key > Buffer
Definition: lru.h:92
const Buffer & get_container() const
Definition: lru.h:131
AlgorithmDynamic(size_t max_size)
Definition: lru.h:94
Buffer buffer_
Definition: lru.h:136
void access(const Key &key)
Definition: lru.h:96
bool is_full() const
Definition: lru.h:133
Key * pop()
Definition: lru.h:118
void push(const Key &key, Key **out_key=nullptr)
Definition: lru.h:109
void remove(const Key &key)
Definition: lru.h:107
Key key_
Definition: lru.h:137
size_t max_size_
Definition: lru.h:138
void remove(const Key &key)
Definition: lru.h:53
const Buffer & get_container() const
Definition: lru.h:80
void push(const Key &key, Key **out_key=nullptr)
Definition: lru.h:59
Buffer buffer_
Definition: lru.h:85
bool is_full() const
Definition: lru.h:82
Key * pop()
Definition: lru.h:68
Key key_
Definition: lru.h:86
void access(const Key &key)
Definition: lru.h:47
iterator begin()
Definition: cyclic_buffer.h:149
void push_back(V &&v)
Definition: cyclic_buffer.h:156
value_type & front()
Definition: cyclic_buffer.h:172
uint32_t size() const
Definition: cyclic_buffer.h:168
void pop_back()
Definition: cyclic_buffer.h:184
iterator end()
Definition: cyclic_buffer.h:150
bool empty() const
Definition: cyclic_buffer.h:170
void pop_front()
Definition: cyclic_buffer.h:176
std::string_view Key
The key type for the hash structure in HashJoinRowBuffer.
Definition: hash_join_buffer.h:108
size_t size(const char *const c)
Definition: base64.h:46
static mysql_service_status_t remove(reference_caching_channel channel, const char *implementation_name) noexcept
Definition: component.cc:137
required string key
Definition: replication_asynchronous_connection_failover.proto:60