44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#ifndef QUERY_INTO_INTERMEDIATE_HPP
|
|
#define QUERY_INTO_INTERMEDIATE_HPP
|
|
|
|
#include "matador/query/intermediates/executable_query.hpp"
|
|
|
|
#include "matador/query/value_extractor.hpp"
|
|
|
|
#include "matador/utils/placeholder.hpp"
|
|
|
|
namespace matador::query {
|
|
|
|
// template < class Type >
|
|
// std::vector<utils::any_type> as_placeholder(const Type &obj)
|
|
// {
|
|
// placeholder_generator generator;
|
|
// access::process(generator, obj);
|
|
|
|
// return generator.placeholder_values;
|
|
// \}
|
|
|
|
class query_into_intermediate : public query_intermediate
|
|
{
|
|
public:
|
|
using query_intermediate::query_intermediate;
|
|
|
|
executable_query values(std::initializer_list<std::variant<utils::placeholder, utils::database_type>> values);
|
|
executable_query values(std::vector<std::variant<utils::placeholder, utils::database_type>> &&values);
|
|
// template<class Type>
|
|
// executable_query values()
|
|
// {
|
|
// Type obj;
|
|
// return values(std::move(as_placeholder(obj)));
|
|
// }
|
|
template<class Type>
|
|
executable_query values(const Type &obj)
|
|
{
|
|
return values(std::move(value_extractor::extract(obj)));
|
|
}
|
|
};
|
|
|
|
}
|
|
|
|
#endif //QUERY_INTO_INTERMEDIATE_HPP
|