virtual Condition *clone() const = 0;
virtual Condition *flatten() const { return clone(); }
virtual bool can_merge(const Condition &, const CompoundCondition &) const { return false; }
- virtual Condition *merge(const std::vector<Condition *> &, const CompoundCondition &) const { return 0; }
+ virtual Condition *merge(const std::vector<const Condition *> &, const CompoundCondition &) const { return 0; }
virtual bool is_viable() const { return true; }
virtual void add_lines(std::list<FilterStatement> &) const = 0;
};
public:
void add(Condition *);
unsigned count() const { return conditions.size(); }
- const Condition *get(unsigned) const;
+ const Condition &get(unsigned) const;
virtual Condition *flatten() const;
protected: