#pragma once #include #include #include "filter.h" struct TextFilter : public Filter { virtual void setup(std::ostream& o, std::istream& str) override; virtual bool filter(const Message& m) const override; protected: virtual bool match(const std::string& input) const; std::string text; }; struct RegexFilter : public Filter { virtual void setup(std::ostream& o, std::istream& str) override; virtual bool filter(const Message& m) const override; protected: virtual bool match(const std::string& input) const; std::regex pattern; }; struct FilenameFilter : public TextFilter { //virtual void setup(std::ostream& o, std::istream& str) override; virtual bool filter(const Message& m) const override; }; struct RegexFilenameFilter : public RegexFilter { //virtual void setup(std::ostream& o, std::istream& str) override; virtual bool filter(const Message& m) const override; };