TelegramSearch/src/textfilter.h

35 lines
911 B
C++

#pragma once
#include <string>
#include <regex>
#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;
};