#ifndef QUERY_TABLE_HPP #define QUERY_TABLE_HPP #include "matador/sql/column.hpp" #include #include #include namespace matador::sql { struct table { table(const char *name, std::string as = "") // NOLINT(*-explicit-constructor) : name(name), alias(std::move(as)) {} table(std::string name, std::string as = "") // NOLINT(*-explicit-constructor) : name(std::move(name)) , alias(std::move(as)) {} table(std::string name, std::string as, const std::vector &columns) : name(std::move(name)) , alias(std::move(as)) , columns(columns) {} table& as(const std::string &a) { alias = a; return *this; } [[nodiscard]] table as(const std::string &a) const { return { name, a, columns }; } std::string name; std::string alias; std::vector columns; }; } #endif //QUERY_TABLE_HPP