criteria/include/matador/criteria/binary_criteria.hpp

31 lines
741 B
C++

#ifndef CRITERIA_BINARY_CRITERIA_NODE_HPP
#define CRITERIA_BINARY_CRITERIA_NODE_HPP
#include "matador/criteria/criteria.hpp"
#include "matador/criteria/column.hpp"
#include "matador/criteria/value.hpp"
namespace matador::criteria {
enum class binary_operator {
EQUALS,
NOT_EQUALS,
GREATER_THAN,
GREATER_THAN_OR_EQUAL,
LESS_THAN,
LESS_THAN_OR_EQUAL,
};
class binary_criteria final : public criteria {
public:
binary_criteria() = delete;
binary_criteria( column column, binary_operator operator_, value value );
void accept( condition_node_visitor& visitor ) const override;
private:
column column_;
binary_operator operator_{};
value value_;
};
}
#endif //CRITERIA_BINARY_CRITERIA_NODE_HPP