#ifndef ROOT_TRegexp #define ROOT_TRegexp //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TRegexp // // // // Declarations for regular expression class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_Rtypes //*KEEP,Rtypes. #include "Rtypes.h" //*KEND. #endif #ifndef ROOT_Match //*KEEP,Match. #include "Match.h" //*KEND. #endif class TString; class TRegexp { public: enum EStatVal { kOK = 0, kIllegal, kNomem, kToolong }; private: Pattern_t *fPattern; // Compiled pattern EStatVal fStat; // Status static const unsigned fgMaxpat; // Max length of compiled pattern void CopyPattern(const TRegexp& re); void GenPattern(const char *re); const char *MakeWildcard(const char *re); public: TRegexp(const char *re, Bool_t wildcard = kFALSE); TRegexp(const TString& re); TRegexp(const TRegexp& re); virtual ~TRegexp(); TRegexp& operator=(const TRegexp& re); TRegexp& operator=(const TString& re); // Recompiles pattern TRegexp& operator=(const char *re); // Recompiles pattern Ssiz_t Index(const TString& str, Ssiz_t *len, Ssiz_t start=0) const; EStatVal Status(); // Return & clear status ClassDef(TRegexp,0) // Regular expression class }; #endif