Back to index

nordugrid-arc-nox  1.1.0~rc6
ArcRegex.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __ARC_REGEX_H__
00004 #define __ARC_REGEX_H__
00005 
00006 #include <list>
00007 #include <string>
00008 #include <regex.h>
00009 
00010 namespace Arc {
00011 
00013 
00016   class RegularExpression {
00017   public:
00018 
00020     RegularExpression() {}
00021 
00023     RegularExpression(std::string pattern);
00024 
00026     RegularExpression(const RegularExpression& regex);
00027 
00029     ~RegularExpression();
00030 
00032     const RegularExpression& operator=(const RegularExpression& regex);
00033 
00035     bool isOk();
00036 
00038     bool hasPattern(std::string str);
00039 
00041     bool match(const std::string& str) const;
00042 
00046     bool match(const std::string& str, std::list<std::string>& unmatched, std::list<std::string>& matched) const;
00047 
00049     std::string getPattern() const;
00050 
00051   private:
00052     std::string pattern;
00053     regex_t preg;
00054     int status;
00055   };
00056 }
00057 
00058 #endif