00001 #ifndef MFEXTENSIONS_SUPPRESS_H 00002 #define MFEXTENSIONS_SUPPRESS_H 00003 00004 #include <string> 00005 #include <boost/regex.hpp> 00006 00007 typedef boost::regex regex_t; 00008 typedef boost::smatch smatch_t; 00009 00013 class suppress 00014 { 00015 public: 00020 explicit suppress(std::string const& name); 00021 00027 bool match(std::string const& name); 00028 00033 void use(bool flag) { in_use_ = flag; } 00034 00035 private: 00036 std::string name_; 00037 regex_t expr_; 00038 smatch_t what_; 00039 bool in_use_; 00040 }; 00041 00042 #endif