00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef STRING_FILTER_H
00013 #define STRING_FILTER_H
00014
00015 #include <string>
00016 #include <vector>
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 class string_filter {
00027 public:
00028 string_filter() {}
00029
00030
00031
00032
00033
00034 string_filter(std::string const & include_patterns,
00035 std::string const & exclude_patterns);
00036
00037
00038
00039
00040 string_filter(std::vector<std::string> const & include_patterns,
00041 std::vector<std::string> const & exclude_patterns);
00042
00043 virtual ~string_filter() {}
00044
00045
00046 virtual bool match(std::string const & str) const;
00047
00048 protected:
00049
00050 std::vector<std::string> include;
00051
00052 std::vector<std::string> exclude;
00053 };
00054
00055 #endif