criteria/include/matador/condition/collection_condition_node.hpp

27 lines
796 B
C++

#ifndef CONDITION_COLLECTION_CONDITION_NODE_HPP
#define CONDITION_COLLECTION_CONDITION_NODE_HPP
#include "column.hpp"
#include "condition_node.hpp"
#include "value.hpp"
namespace matador::condition {
enum class collection_operator {
IN,
OUT
};
class collection_condition_node final : public condition_node {
public:
collection_condition_node() = delete;
collection_condition_node(column col, collection_operator operator_, std::vector<value> values);
collection_condition_node(column col, collection_operator operator_, std::initializer_list<value> values);
void accept(condition_node_visitor& visitor) const override;
private:
column column_;
collection_operator operator_;
std::vector<value> values_;
};
}
#endif //CONDITION_COLLECTION_CONDITION_NODE_HPP