query/source/orm/query/criteria/binary_criteria.cpp

45 lines
1.1 KiB
C++

#include "matador/query/criteria/binary_criteria.hpp"
#include "matador/query/criteria/criteria_visitor.hpp"
namespace matador::query {
binary_criteria::binary_criteria(const table_column& col, const binary_operator operand, criteria_value value)
: abstract_column_criteria(col)
, operator_(operand)
, value_(std::move(value))
{}
void binary_criteria::accept( criteria_visitor& visitor ) const {
visitor.visit(*this);
}
binary_operator binary_criteria::operand() const {
return operator_;
}
const criteria_value& binary_criteria::value() const {
return value_;
}
binary_column_criteria::binary_column_criteria(const table_column& left_column, const binary_operator operand, const table_column& right_column)
: left_column_(left_column)
, operator_(operand)
, right_column_(right_column){}
void binary_column_criteria::accept(criteria_visitor& visitor) const {
visitor.visit(*this);
}
const table_column& binary_column_criteria::left_column() const {
return left_column_;
}
binary_operator binary_column_criteria::operand() const {
return operator_;
}
const table_column& binary_column_criteria::right_column() const {
return right_column_;
}
}