#ifndef RSQL_PARSER_LOGICAL_NODE_HPP #define RSQL_PARSER_LOGICAL_NODE_HPP #include "node.hpp" #include #include #include namespace matador::rsql { enum class logical_operator { And, Or, }; class node_visitor; class logical_node final : public node { public: explicit logical_node(logical_operator op); void accept(node_visitor& visitor) const override; [[nodiscard]] const std::vector>& children() const; [[nodiscard]] logical_operator operand() const; private: friend class parser; logical_operator op_; // ";" for AND, "," for OR std::vector> children_; }; } #endif //RSQL_PARSER_LOGICAL_NODE_HPP