25 lines
618 B
C++
25 lines
618 B
C++
#ifndef QUERY_QUERY_HELPER_HPP
|
|
#define QUERY_QUERY_HELPER_HPP
|
|
|
|
#include "matador/utils/macro_map.hpp"
|
|
|
|
#include "matador/query/table.hpp"
|
|
#include "matador/query/column.hpp"
|
|
|
|
#include <string>
|
|
#include <ostream>
|
|
|
|
#define FIELD(x) const matador::query::column x{*this, #x, ""};
|
|
|
|
#define QUERY_HELPER(C, V, ...) \
|
|
namespace matador::query::meta { \
|
|
namespace internal { \
|
|
struct C##_query : table { \
|
|
C##_query() : table(#C) {} \
|
|
MAP(FIELD, __VA_ARGS__) \
|
|
}; } \
|
|
static const internal:: C##_query V; \
|
|
}
|
|
|
|
#endif //QUERY_QUERY_HELPER_HPP
|