26#ifndef ROUTER_SRC_HARNESS_INCLUDE_MYSQL_HARNESS_SCOPED_CALLBACK_H_ 
   27#define ROUTER_SRC_HARNESS_INCLUDE_MYSQL_HARNESS_SCOPED_CALLBACK_H_ 
   32#include "harness_export.h" 
   39      : callback_{std::move(c)} {}
 
   47    if (
this != &o) 
std::swap(callback_, o.callback_);
 
   54    if (!callback_) 
return;
 
   55    std::exchange(callback_, 
nullptr)();
 
   58  void cancel() { callback_ = 
nullptr; }
 
Definition: scoped_callback.h:36
 
void cancel()
Definition: scoped_callback.h:58
 
ScopedCallback & operator=(ScopedCallback &&o) noexcept
Definition: scoped_callback.h:46
 
ScopedCallback & operator=(const ScopedCallback &)=delete
 
ScopedCallback(const ScopedCallback &)=delete
 
std::function< void()> callback_
Definition: scoped_callback.h:61
 
ScopedCallback(ScopedCallback &&o) noexcept
Definition: scoped_callback.h:45
 
ScopedCallback(std::function< void()> c) noexcept
Definition: scoped_callback.h:38
 
static void swap(String &a, String &b) noexcept
Definition: sql_string.h:650