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.