31#ifndef MYSQLX_EXECUTABLE_H 
   32#define MYSQLX_EXECUTABLE_H 
   42#include "../common/op_if.h" 
   66template <class Res, class Op>
 
   70  using Impl = common::Executable_if;
 
   72  std::unique_ptr<Impl> m_impl;
 
   78  void reset(Impl *impl)
 
   92    if (m_impl.get() != other.m_impl.get()) m_impl.reset(other.m_impl->clone());
 
   97    m_impl.reset(other.m_impl->clone());
 
  100  void check_if_valid()
 const 
  103      throw Error(
"Attempt to use invalid operation");
 
  121    operator=(std::move(other));
 
  139      reset(std::move(other));
 
  158      return m_impl->execute();
 
Base class for connector errors.
Definition: common.h:84
Represents an operation that can be executed.
Definition: executable.h:68
virtual Res execute()
Execute given operation and return its result.
Definition: executable.h:148
Classes used to access query and command execution results.