25 lines
651 B
C++
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
|