X-Git-Url: http://git.tdb.fi/?p=poefilter.git;a=blobdiff_plain;f=source%2Fcondition.h;h=6b0cf6bda2831109cc7ef38b66fb08abf8a1bf7f;hp=9d945c78eec8ffa3c123fb4ea9e8fdb3e42ef978;hb=b10f2529fa106205fc99d7e3eec8aa80bfb487ce;hpb=7d7eaf754af04f81bb1e7a8872272ea15e01d0c4 diff --git a/source/condition.h b/source/condition.h index 9d945c7..6b0cf6b 100644 --- a/source/condition.h +++ b/source/condition.h @@ -74,6 +74,11 @@ protected: virtual Condition *flatten(OrCondition *, Condition *) const; virtual Condition *flatten(OrCondition *, AndCondition *) const; virtual Condition *flatten(OrCondition *, OrCondition *) const; +public: + virtual bool can_merge(const Condition &, const CompoundCondition &) const; + virtual AndCondition *merge(const std::vector &, const CompoundCondition &) const; +private: + static bool merge(const AndCondition &, const AndCondition &, const CompoundCondition &, AndCondition **); public: virtual bool is_viable() const; virtual void add_lines(std::list &) const;