48 lines
1.4 KiB
C++
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_;
|
|
}
|
|
}
|