26#ifndef MYSQL_HARNESS_NET_TS_IMPL_CALLSTACK_H_
27#define MYSQL_HARNESS_NET_TS_IMPL_CALLSTACK_H_
70template <
class Key,
class Value =
unsigned char>
129 if (ctx_ !=
nullptr) ctx_ = ctx_->next_;
153 if (e->key() == k)
return e->value();
169template <
class Key,
class Value>
Definition: callstack.h:80
Context(const Key *k, Value &v)
Definition: callstack.h:90
Value * value_
Definition: callstack.h:114
Context & operator=(const Context &)=delete
Value * value() const
Definition: callstack.h:107
~Context()
destruct a stackframe.
Definition: callstack.h:100
const Key * key() const
Definition: callstack.h:106
Context(const Key *k)
construct a stackframe.
Definition: callstack.h:87
const Key * key_
Definition: callstack.h:113
Context(const Context &)=delete
Context * next_
Definition: callstack.h:116
forward-iterator over stack frames.
Definition: callstack.h:124
Context * operator*()
Definition: callstack.h:135
Iterator(Context *ctx)
Definition: callstack.h:126
bool operator!=(const Iterator &other) const
Definition: callstack.h:133
Iterator & operator++()
Definition: callstack.h:128
Context * ctx_
Definition: callstack.h:138
callstack of a thread.
Definition: callstack.h:71
static Iterator begin()
begin() iterator
Definition: callstack.h:160
static constexpr Value * contains(const Key *k)
check if a callstack contains a pointer already.
Definition: callstack.h:151
static thread_local Context * stack_top_
Definition: callstack.h:165
static Iterator end()
end() iterator
Definition: callstack.h:162
std::string_view Key
The key type for the hash structure in HashJoinRowBuffer.
Definition: hash_join_buffer.h:108