criteria/include/matador/condition/logical_condition_node.hpp

25 lines
651 B
C++

#ifndef CONDITION_LOGICAL_CONDITION_NODE_HPP
#define CONDITION_LOGICAL_CONDITION_NODE_HPP
#include "condition_node.hpp"
namespace matador::condition {
enum class logical_operator {
AND,
OR,
};
class logical_condition_node final : public condition_node {
public:
logical_condition_node() = delete;
logical_condition_node(condition_node_ptr left, logical_operator op, condition_node_ptr right);
void accept(condition_node_visitor& visitor) const override;
private:
std::unique_ptr<condition_node> left_;
logical_operator op_;
std::unique_ptr<condition_node> right_;
};
}
#endif //CONDITION_LOGICAL_CONDITION_NODE_HPP