query/source/orm/query/criteria/collection_criteria.cpp

48 lines
1.4 KiB
C++

#include "matador/query/criteria/collection_criteria.hpp"
#include "matador/query/criteria/criteria_visitor.hpp"
namespace matador::query {
collection_criteria::collection_criteria(sql::column col, const collection_operator operand_, std::vector<criteria_value> values )
: abstract_column_criteria(std::move(col))
, operand_(operand_)
, values_(std::move(values))
{}
collection_criteria::collection_criteria(sql::column col, const collection_operator operand_, const std::initializer_list<criteria_value> values )
: abstract_column_criteria(std::move(col))
, operand_(operand_)
, values_(values)
{}
void collection_criteria::accept(criteria_visitor& visitor) const {
visitor.visit(*this);
}
collection_operator collection_criteria::operand() const {
return operand_;
}
const std::vector<criteria_value>& collection_criteria::values() const {
return values_;
}
collection_query_criteria::collection_query_criteria(sql::column col, collection_operator operand_, sql::query_context ctx)
: abstract_column_criteria(std::move(col))
, operand_(operand_)
, query_context_(std::move(ctx)){
}
void collection_query_criteria::accept(criteria_visitor &visitor) const {
visitor.visit(*this);
}
collection_operator collection_query_criteria::operand() const {
return operand_;
}
const sql::query_context & collection_query_criteria::context() const {
return query_context_;
}
}