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>
 
   88        : 
Context(k, reinterpret_cast<Value &>(*this)) {}
 
  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