criteria/include/matador/condition/binary_condition_node.hpp

31 lines
781 B
C++

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