StormByte C++ Library: Database module 0.0.9999
StormByte-Database is a StormByte library module for handling database connections
Loading...
Searching...
No Matches
query.hxx
1#pragma once
2
3#include <StormByte/database/row.hxx>
4
9namespace StormByte::Database {
14 template<class Row> class STORMBYTE_DATABASE_PUBLIC Query {
15 public:
20 constexpr Query(const std::string& query): m_query(query) {}
21
26 constexpr Query(std::string&& query): m_query(std::move(query)) {}
27
31 Query(const Query&) = delete;
32
36 constexpr Query(Query&&) = default;
37
41 Query& operator=(const Query&) = delete;
42
46 constexpr Query& operator=(Query&&) = default;
47
51 virtual constexpr ~Query() = default;
52
56 virtual const Row& Step() noexcept = 0;
57
62 constexpr const std::string& GetQuery() const noexcept {
63 return m_query;
64 }
65
66 protected:
67 std::string m_query;
68 std::shared_ptr<Row> m_row;
69 };
70}
Represents a query to be executed in a database.
Definition query.hxx:14
constexpr Query(std::string &&query)
Definition query.hxx:26
constexpr Query & operator=(Query &&)=default
constexpr Query(const std::string &query)
Definition query.hxx:20
constexpr Query(Query &&)=default
Query & operator=(const Query &)=delete
std::string m_query
Query to prepare.
Definition query.hxx:67
std::shared_ptr< Row > m_row
Current row.
Definition query.hxx:68
Query(const Query &)=delete
virtual const Row & Step() noexcept=0
virtual constexpr ~Query()=default
Row class for databases.
Definition row.hxx:20