25#ifndef MYSQL_HARNESS_NET_TS_IMPL_CALLSTACK_H_
26#define MYSQL_HARNESS_NET_TS_IMPL_CALLSTACK_H_
69template <
class Key,
class Value =
unsigned char>
128 if (ctx_ !=
nullptr) ctx_ = ctx_->next_;
152 if (e->key() == k)
return e->
value();
168template <
class Key,
class Value>
a nullable SQL value.
Definition: sql_value.h:39
value_type value() const
Definition: sql_value.h:45
Definition: callstack.h:79
Context(const Key *k, Value &v)
Definition: callstack.h:89
Value * value_
Definition: callstack.h:113
Context & operator=(const Context &)=delete
Value * value() const
Definition: callstack.h:106
~Context()
destruct a stackframe.
Definition: callstack.h:99
const Key * key() const
Definition: callstack.h:105
Context(const Key *k)
construct a stackframe.
Definition: callstack.h:86
const Key * key_
Definition: callstack.h:112
Context(const Context &)=delete
Context * next_
Definition: callstack.h:115
forward-iterator over stack frames.
Definition: callstack.h:123
Context * operator*()
Definition: callstack.h:134
Iterator(Context *ctx)
Definition: callstack.h:125
bool operator!=(const Iterator &other) const
Definition: callstack.h:132
Iterator & operator++()
Definition: callstack.h:127
Context * ctx_
Definition: callstack.h:137
callstack of a thread.
Definition: callstack.h:70
static Iterator begin()
begin() iterator
Definition: callstack.h:159
static constexpr Value * contains(const Key *k)
check if a callstack contains a pointer already.
Definition: callstack.h:150
static thread_local Context * stack_top_
Definition: callstack.h:164
static Iterator end()
end() iterator
Definition: callstack.h:161
std::string_view Key
The key type for the hash structure in HashJoinRowBuffer.
Definition: hash_join_buffer.h:107