From abf49b44cc47f39d6cceb83866f915bc03b7d900 Mon Sep 17 00:00:00 2001
From: Ferenc Szontágh <szf@fsociety.hu>
Date: Mon, 01 Jul 2024 18:08:34 +0000
Subject: [PATCH] reformat files
---
include/qtl_async.hpp | 560 +++++++++++++++++++++++++++----------------------------
1 files changed, 279 insertions(+), 281 deletions(-)
diff --git a/include/qtl_async.hpp b/include/qtl_async.hpp
index eeb98d5..41893b5 100644
--- a/include/qtl_async.hpp
+++ b/include/qtl_async.hpp
@@ -13,26 +13,26 @@
typedef SOCKET socket_type;
#else
typedef int socket_type;
-#endif
+#endif
-namespace detail
-{
-
-template<typename Values, typename RowHandler, typename FinishHandler>
-struct async_fetch_helper : public std::enable_shared_from_this<async_fetch_helper<Values, RowHandler, FinishHandler>>
-{
- async_fetch_helper(const Values& values, const RowHandler& row_handler, const FinishHandler& finish_handler)
- : m_values(values), m_row_handler(row_handler), m_finish_handler(finish_handler), m_auto_close_command(true)
+ namespace detail
{
- }
- template<typename Command, typename Exception>
- void start(const std::shared_ptr<Command>& command)
- {
- auto self = this->shared_from_this();
- command->fetch(std::forward<Values>(m_values), [this, command]() {
- return qtl::detail::apply<RowHandler, Values>(std::forward<RowHandler>(m_row_handler), std::forward<Values>(m_values));
- }, [self, command](const Exception& e) {
+ template <typename Values, typename RowHandler, typename FinishHandler>
+ struct async_fetch_helper : public std::enable_shared_from_this<async_fetch_helper<Values, RowHandler, FinishHandler>>
+ {
+ async_fetch_helper(const Values &values, const RowHandler &row_handler, const FinishHandler &finish_handler)
+ : m_values(values), m_row_handler(row_handler), m_finish_handler(finish_handler), m_auto_close_command(true)
+ {
+ }
+
+ template <typename Command, typename Exception>
+ void start(const std::shared_ptr<Command> &command)
+ {
+ auto self = this->shared_from_this();
+ command->fetch(std::forward<Values>(m_values), [this, command]()
+ { return qtl::detail::apply<RowHandler, Values>(std::forward<RowHandler>(m_row_handler), std::forward<Values>(m_values)); }, [self, command](const Exception &e)
+ {
if (e || self->m_auto_close_command)
{
command->close([self, command, e](const Exception& new_e) {
@@ -42,43 +42,42 @@
else
{
self->m_finish_handler(e);
+ } });
}
- });
- }
-
- void auto_close_command(bool auto_close)
- {
- m_auto_close_command = auto_close;
- }
-private:
- Values m_values;
- RowHandler m_row_handler;
- FinishHandler m_finish_handler;
- bool m_auto_close_command;
-};
+ void auto_close_command(bool auto_close)
+ {
+ m_auto_close_command = auto_close;
+ }
-template<typename Values, typename RowHandler, typename FinishHandler>
-inline std::shared_ptr<async_fetch_helper<Values, RowHandler, FinishHandler>> make_fetch_helper(const Values& values, const RowHandler& row_handler, const FinishHandler& cpmplete_handler)
-{
- return std::make_shared<async_fetch_helper<Values, RowHandler, FinishHandler>>(values, row_handler, cpmplete_handler);
-}
+ private:
+ Values m_values;
+ RowHandler m_row_handler;
+ FinishHandler m_finish_handler;
+ bool m_auto_close_command;
+ };
+ template <typename Values, typename RowHandler, typename FinishHandler>
+ inline std::shared_ptr<async_fetch_helper<Values, RowHandler, FinishHandler>> make_fetch_helper(const Values &values, const RowHandler &row_handler, const FinishHandler &cpmplete_handler)
+ {
+ return std::make_shared<async_fetch_helper<Values, RowHandler, FinishHandler>>(values, row_handler, cpmplete_handler);
+ }
-template<typename Exception, typename Command, typename RowHandler, typename FinishHandler>
-inline void async_fetch_command(const std::shared_ptr<Command>& command, FinishHandler&& finish_handler, RowHandler&& row_handler)
-{
- auto values=make_values(row_handler);
- typedef decltype(values) values_type;
- auto helper = make_fetch_helper(std::forward<values_type>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- helper->auto_close_command(false);
- helper->template start<Command, Exception>(command);
-}
+ template <typename Exception, typename Command, typename RowHandler, typename FinishHandler>
+ inline void async_fetch_command(const std::shared_ptr<Command> &command, FinishHandler &&finish_handler, RowHandler &&row_handler)
+ {
+ auto values = make_values(row_handler);
+ typedef decltype(values) values_type;
+ auto helper = make_fetch_helper(std::forward<values_type>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ helper->auto_close_command(false);
+ helper->template start<Command, Exception>(command);
+ }
-template<typename Exception, typename Command, typename RowHandler, typename FinishHandler, typename... OtherHandler>
-inline void async_fetch_command(const std::shared_ptr<Command>& command, FinishHandler&& finish_handler, RowHandler&& row_handler, OtherHandler&&... other)
-{
- async_fetch_command<Exception>(command, [command, finish_handler, other...](const Exception& e) mutable {
+ template <typename Exception, typename Command, typename RowHandler, typename FinishHandler, typename... OtherHandler>
+ inline void async_fetch_command(const std::shared_ptr<Command> &command, FinishHandler &&finish_handler, RowHandler &&row_handler, OtherHandler &&...other)
+ {
+ async_fetch_command<Exception>(command, [command, finish_handler, other...](const Exception &e) mutable
+ {
if (e)
{
finish_handler(e);
@@ -91,76 +90,76 @@
else
async_fetch_command<Exception>(command, std::forward<FinishHandler>(finish_handler), std::forward<OtherHandler>(other)...);
});
+ } }, std::forward<RowHandler>(row_handler));
}
- }, std::forward<RowHandler>(row_handler));
-}
-}
+ }
-struct event
-{
- enum io_flags
+ struct event
{
- ef_read = 0x1,
- ef_write = 0x2,
- ef_exception = 0x4,
- ef_timeout =0x8,
- ev_all = ef_read | ef_write | ef_exception
+ enum io_flags
+ {
+ ef_read = 0x1,
+ ef_write = 0x2,
+ ef_exception = 0x4,
+ ef_timeout = 0x8,
+ ev_all = ef_read | ef_write | ef_exception
+ };
+
+ virtual ~event() {}
+ virtual void set_io_handler(int flags, long timeout, std::function<void(int)> &&) = 0;
+ virtual void remove() = 0;
+ virtual bool is_busying() = 0;
};
- virtual ~event() { }
- virtual void set_io_handler(int flags, long timeout, std::function<void(int)>&&) = 0;
- virtual void remove() = 0;
- virtual bool is_busying() = 0;
-};
-
-template<typename T, class Command>
-class async_connection
-{
-public:
- template<typename EventLoop>
- bool bind(EventLoop& ev)
+ template <typename T, class Command>
+ class async_connection
{
- T* pThis = static_cast<T*>(this);
- if(m_event_handler)
+ public:
+ template <typename EventLoop>
+ bool bind(EventLoop &ev)
{
- if(m_event_handler->is_busying())
- return false;
- unbind();
+ T *pThis = static_cast<T *>(this);
+ if (m_event_handler)
+ {
+ if (m_event_handler->is_busying())
+ return false;
+ unbind();
+ }
+ m_event_handler = ev.add(pThis);
+ return m_event_handler != nullptr;
}
- m_event_handler = ev.add(pThis);
- return m_event_handler!=nullptr;
- }
- qtl::event* event() const
- {
- return m_event_handler;
- }
-
- bool unbind()
- {
- if(m_event_handler)
+ qtl::event *event() const
{
- if(m_event_handler->is_busying())
- return false;
- m_event_handler->remove();
- m_event_handler=nullptr;
+ return m_event_handler;
}
- return true;
- }
- /*
- ResultHandler defines as:
- void handler(const exception_type& e, uint64_t affected=0);
- Copies will be made of the handler as required.
- If an error occurred, value of affected is undefined.
- Note: parameter affected must has default value.
- */
- template<typename Params, typename ResultHandler>
- void execute(ResultHandler handler, const char* query_text, size_t text_length, const Params& params)
- {
- T* pThis = static_cast<T*>(this);
- pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type& e, std::shared_ptr<Command>& command) mutable {
+ bool unbind()
+ {
+ if (m_event_handler)
+ {
+ if (m_event_handler->is_busying())
+ return false;
+ m_event_handler->remove();
+ m_event_handler = nullptr;
+ }
+ return true;
+ }
+
+ /*
+ ResultHandler defines as:
+ void handler(const exception_type& e, uint64_t affected=0);
+ Copies will be made of the handler as required.
+ If an error occurred, value of affected is undefined.
+ Note: parameter affected must has default value.
+ */
+ template <typename Params, typename ResultHandler>
+ void execute(ResultHandler handler, const char *query_text, size_t text_length, const Params ¶ms)
+ {
+ T *pThis = static_cast<T *>(this);
+ pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type &e, std::shared_ptr<Command> &command) mutable
+ {
if(e)
{
command->close([command, e, handler](const typename T::exception_type& ae) mutable {
@@ -172,49 +171,49 @@
command->close([command, handler, e, affected](const typename T::exception_type& ae) mutable {
handler(e ? e : ae, affected);
});
- });
- });
- }
- template<typename Params, typename ResultHandler>
- void execute(ResultHandler handler, const char* query_text, const Params& params)
- {
- return execute(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
- }
- template<typename Params, typename ResultHandler>
- void execute(ResultHandler handler, const std::string& query_text, const Params& params)
- {
- return execute(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
- }
+ }); });
+ }
+ template <typename Params, typename ResultHandler>
+ void execute(ResultHandler handler, const char *query_text, const Params ¶ms)
+ {
+ return execute(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
+ }
+ template <typename Params, typename ResultHandler>
+ void execute(ResultHandler handler, const std::string &query_text, const Params ¶ms)
+ {
+ return execute(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
+ }
- template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler handler, const char* query_text, size_t text_length, const Params&... params)
- {
- execute(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
- }
- template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler handler, const char* query_text, const Params&... params)
- {
- execute(std::forward<ResultHandler>(handler), query_text, std::forward_as_tuple(params...));
- }
- template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler handler, const std::string& query_text, const Params&... params)
- {
- execute(std::forward<ResultHandler>(handler), query_text, query_text, std::forward_as_tuple(params...));
- }
+ template <typename... Params, typename ResultHandler>
+ void execute_direct(ResultHandler handler, const char *query_text, size_t text_length, const Params &...params)
+ {
+ execute(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
+ }
+ template <typename... Params, typename ResultHandler>
+ void execute_direct(ResultHandler handler, const char *query_text, const Params &...params)
+ {
+ execute(std::forward<ResultHandler>(handler), query_text, std::forward_as_tuple(params...));
+ }
+ template <typename... Params, typename ResultHandler>
+ void execute_direct(ResultHandler handler, const std::string &query_text, const Params &...params)
+ {
+ execute(std::forward<ResultHandler>(handler), query_text, query_text, std::forward_as_tuple(params...));
+ }
- /*
- ResultHandler defines as:
- void handler(const exception_type& e, uint64_t insert_id=0);
- Copies will be made of the handler as required.
- If an error occurred, value of insert_id is undefined.
- If the command is not insert statement, value of insert_id is zero.
- Note: parameter insert_id must has default value.
- */
- template<typename Params, typename ResultHandler>
- void insert(ResultHandler handler, const char* query_text, size_t text_length, const Params& params)
- {
- T* pThis = static_cast<T*>(this);
- pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type& e, std::shared_ptr<Command>& command) {
+ /*
+ ResultHandler defines as:
+ void handler(const exception_type& e, uint64_t insert_id=0);
+ Copies will be made of the handler as required.
+ If an error occurred, value of insert_id is undefined.
+ If the command is not insert statement, value of insert_id is zero.
+ Note: parameter insert_id must has default value.
+ */
+ template <typename Params, typename ResultHandler>
+ void insert(ResultHandler handler, const char *query_text, size_t text_length, const Params ¶ms)
+ {
+ T *pThis = static_cast<T *>(this);
+ pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type &e, std::shared_ptr<Command> &command)
+ {
if(e)
{
command->close([command, e, handler](const typename T::exception_type& ae) mutable {
@@ -231,53 +230,53 @@
handler(e ? e : ae, insert_id);
});
});
- }
- });
- }
+ } });
+ }
- template<typename Params, typename ResultHandler>
- void insert(ResultHandler&& handler, const char* query_text, const Params& params)
- {
- insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
- }
+ template <typename Params, typename ResultHandler>
+ void insert(ResultHandler &&handler, const char *query_text, const Params ¶ms)
+ {
+ insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
+ }
- template<typename Params, typename ResultHandler>
- void insert(ResultHandler&& handler, const std::string& query_text, const Params& params)
- {
- insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
- }
+ template <typename Params, typename ResultHandler>
+ void insert(ResultHandler &&handler, const std::string &query_text, const Params ¶ms)
+ {
+ insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
+ }
- template<typename... Params, typename ResultHandler>
- void insert_direct(ResultHandler&& handler, const char* query_text, size_t text_length, const Params&... params)
- {
- insert(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
- }
+ template <typename... Params, typename ResultHandler>
+ void insert_direct(ResultHandler &&handler, const char *query_text, size_t text_length, const Params &...params)
+ {
+ insert(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
+ }
- template<typename... Params, typename ResultHandler>
- void insert_direct(ResultHandler&& handler, const char* query_text, const Params&... params)
- {
- insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), std::forward_as_tuple(params...));
- }
+ template <typename... Params, typename ResultHandler>
+ void insert_direct(ResultHandler &&handler, const char *query_text, const Params &...params)
+ {
+ insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), std::forward_as_tuple(params...));
+ }
- template<typename... Params, typename ResultHandler>
- void insert_direct(ResultHandler&& handler, const std::string& query_text, const Params&... params)
- {
- insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), std::forward_as_tuple(params...));
- }
+ template <typename... Params, typename ResultHandler>
+ void insert_direct(ResultHandler &&handler, const std::string &query_text, const Params &...params)
+ {
+ insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), std::forward_as_tuple(params...));
+ }
- /*
- RowHandler defines as:
- void row_handler(const Values& values);
- FinishHandler defines as:
- void finish_handler(const exception_type& e);
- If a row is fetched, the row handler is called.
- If an error occurred or the operation is completed, the result handler is called.
- */
- template<typename Params, typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const char* query_text, size_t text_length, const Params& params, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- T* pThis = static_cast<T*>(this);
- pThis->open_command(query_text, text_length, [values, row_handler, finish_handler, params](const typename T::exception_type& e, const std::shared_ptr<Command>& command) mutable {
+ /*
+ RowHandler defines as:
+ void row_handler(const Values& values);
+ FinishHandler defines as:
+ void finish_handler(const exception_type& e);
+ If a row is fetched, the row handler is called.
+ If an error occurred or the operation is completed, the result handler is called.
+ */
+ template <typename Params, typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const char *query_text, size_t text_length, const Params ¶ms, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ T *pThis = static_cast<T *>(this);
+ pThis->open_command(query_text, text_length, [values, row_handler, finish_handler, params](const typename T::exception_type &e, const std::shared_ptr<Command> &command) mutable
+ {
if(e)
{
finish_handler(e);
@@ -288,72 +287,72 @@
auto helper=detail::make_fetch_helper(values, row_handler, finish_handler);
helper->template start<Command, typename T::exception_type>(command);
});
- }
- });
- }
+ } });
+ }
- template<typename Params, typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const char* query_text, const Params& params, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, strlen(query_text), params, std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Params, typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const std::string& query_text, const Params& params, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text.data(), query_text.size(), params, std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const char* query_text, size_t text_length, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, text_length, std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const char* query_text, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, strlen(query_text), std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Values, typename RowHandler, typename FinishHandler>
- void query_explicit(const std::string& query_text, Values&& values, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
+ template <typename Params, typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const char *query_text, const Params ¶ms, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, strlen(query_text), params, std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Params, typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const std::string &query_text, const Params ¶ms, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text.data(), query_text.size(), params, std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const char *query_text, size_t text_length, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, text_length, std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const char *query_text, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, strlen(query_text), std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Values, typename RowHandler, typename FinishHandler>
+ void query_explicit(const std::string &query_text, Values &&values, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, std::make_tuple(), std::forward<Values>(values), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
- template<typename Params, typename RowHandler, typename FinishHandler>
- void query(const char* query_text, size_t text_length, const Params& params, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, text_length, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Params, typename RowHandler, typename FinishHandler>
- void query(const char* query_text, const Params& params, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename Params, typename RowHandler, typename FinishHandler>
- void query(const std::string& query_text, const Params& params, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename RowHandler, typename FinishHandler>
- void query(const char* query_text, size_t text_length, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, text_length, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename RowHandler, typename FinishHandler>
- void query(const char* query_text, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
- template<typename RowHandler, typename FinishHandler>
- void query(const std::string& query_text, RowHandler&& row_handler, FinishHandler&& finish_handler)
- {
- query_explicit(query_text, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
- }
+ template <typename Params, typename RowHandler, typename FinishHandler>
+ void query(const char *query_text, size_t text_length, const Params ¶ms, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, text_length, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Params, typename RowHandler, typename FinishHandler>
+ void query(const char *query_text, const Params ¶ms, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename Params, typename RowHandler, typename FinishHandler>
+ void query(const std::string &query_text, const Params ¶ms, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, params, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename RowHandler, typename FinishHandler>
+ void query(const char *query_text, size_t text_length, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, text_length, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename RowHandler, typename FinishHandler>
+ void query(const char *query_text, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
+ template <typename RowHandler, typename FinishHandler>
+ void query(const std::string &query_text, RowHandler &&row_handler, FinishHandler &&finish_handler)
+ {
+ query_explicit(query_text, detail::make_values(row_handler), std::forward<RowHandler>(row_handler), std::forward<FinishHandler>(finish_handler));
+ }
- template<typename Params, typename FinishHandler, typename... RowHandlers>
- void query_multi_with_params(const char* query_text, size_t text_length, const Params& params, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- T* pThis = static_cast<T*>(this);
- pThis->open_command(query_text, text_length, [params, finish_handler, row_handlers...](const typename T::exception_type& e, const std::shared_ptr<Command>& command) mutable {
+ template <typename Params, typename FinishHandler, typename... RowHandlers>
+ void query_multi_with_params(const char *query_text, size_t text_length, const Params ¶ms, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ T *pThis = static_cast<T *>(this);
+ pThis->open_command(query_text, text_length, [params, finish_handler, row_handlers...](const typename T::exception_type &e, const std::shared_ptr<Command> &command) mutable
+ {
if (e)
{
finish_handler(e);
@@ -366,38 +365,37 @@
else
qtl::detail::async_fetch_command<typename T::exception_type>(command, std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
});
- }
- });
- }
- template<typename Params, typename FinishHandler, typename... RowHandlers>
- void query_multi_with_params(const char* query_text, const Params& params, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- query_multi_with_params(query_text, strlen(query_text), params, std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
- }
- template<typename Params, typename FinishHandler, typename... RowHandlers>
- void query_multi_with_params(const std::string& query_text, const Params& params, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- query_multi_with_params(query_text.data(), query_text.size(), params, std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
- }
- template<typename FinishHandler, typename... RowHandlers>
- void query_multi(const char* query_text, size_t text_length, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text, text_length, std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
- }
- template<typename FinishHandler, typename... RowHandlers>
- void query_multi(const char* query_text, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text, strlen(query_text), std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
- }
- template<typename FinishHandler, typename... RowHandlers>
- void query_multi(const std::string& query_text, FinishHandler&& finish_handler, RowHandlers&&... row_handlers)
- {
- query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text.data(), query_text.size(), std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
- }
+ } });
+ }
+ template <typename Params, typename FinishHandler, typename... RowHandlers>
+ void query_multi_with_params(const char *query_text, const Params ¶ms, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ query_multi_with_params(query_text, strlen(query_text), params, std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
+ }
+ template <typename Params, typename FinishHandler, typename... RowHandlers>
+ void query_multi_with_params(const std::string &query_text, const Params ¶ms, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ query_multi_with_params(query_text.data(), query_text.size(), params, std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
+ }
+ template <typename FinishHandler, typename... RowHandlers>
+ void query_multi(const char *query_text, size_t text_length, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text, text_length, std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
+ }
+ template <typename FinishHandler, typename... RowHandlers>
+ void query_multi(const char *query_text, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text, strlen(query_text), std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
+ }
+ template <typename FinishHandler, typename... RowHandlers>
+ void query_multi(const std::string &query_text, FinishHandler &&finish_handler, RowHandlers &&...row_handlers)
+ {
+ query_multi_with_params<std::tuple<>, FinishHandler, RowHandlers...>(query_text.data(), query_text.size(), std::make_tuple(), std::forward<FinishHandler>(finish_handler), std::forward<RowHandlers>(row_handlers)...);
+ }
-protected:
- qtl::event* m_event_handler { nullptr };
-};
+ protected:
+ qtl::event *m_event_handler{nullptr};
+ };
}
--
Gitblit v1.9.3