added meta table macro and removed unused query_macro

This commit is contained in:
2025-12-31 13:54:32 +01:00
parent e768497cfd
commit 7cb64515bd
8 changed files with 40 additions and 73 deletions
@@ -0,0 +1,27 @@
#ifndef MATADOR_META_TABLE_MACRO_HPP
#define MATADOR_META_TABLE_MACRO_HPP
#include "matador/utils/macro_map.hpp"
#include "matador/query/table_column.hpp"
#include "matador/query/table.hpp"
#define FIELD(FIELD_NAME) const matador::query::table_column& FIELD_NAME;
#define INIT_FIELD(FIELD_NAME) , FIELD_NAME(*column_by_name(*this, #FIELD_NAME))
#define FIELD_STRING(FIELD_NAME) #FIELD_NAME,
#define META_TABLE(TABLE_NAME, VARIABLE_NAME, ...) \
namespace matador::query::meta { \
namespace internal { \
class TABLE_NAME##_table : public table { \
public: \
TABLE_NAME##_table() \
: table(#TABLE_NAME, {MAP(FIELD_STRING, __VA_ARGS__)}) \
MAP(INIT_FIELD, __VA_ARGS__) \
{} \
MAP(FIELD, __VA_ARGS__) \
}; } \
static const internal:: TABLE_NAME##_table VARIABLE_NAME; \
}
#endif //MATADOR_META_TABLE_MACRO_HPP
-25
View File
@@ -1,25 +0,0 @@
#ifndef QUERY_QUERY_HELPER_HPP
#define QUERY_QUERY_HELPER_HPP
#include "matador/utils/macro_map.hpp"
#include "matador/query/table.hpp"
#include "matador/query/table_column.hpp"
#include <string>
#include <ostream>
#define FIELD(x) const matador::query::table_column x = create_column(*this, #x);
#define QUERY_HELPER(C, V, ...) \
namespace matador::query::meta { \
namespace internal { \
class C##_table : public table { \
public: \
C##_table() : table(#C) {} \
MAP(FIELD, __VA_ARGS__) \
}; } \
static const internal:: C##_table V; \
}
#endif //QUERY_QUERY_HELPER_HPP