00001 #ifndef ROOT_TDirIter
00002 #define ROOT_TDirIter
00003
00004
00006
00007
00008
00009
00011 #include "TString.h"
00012 #include "TRegexp.h"
00013
00014 class TOBjArray;
00015 class TDirIter
00016 {
00017 public:
00018 TDirIter(const char *path, Int_t maxlev = 99);
00019 ~TDirIter();
00020 void Reset (const char *path, Int_t maxlev = 99);
00021 const char *NextFile();
00022
00023 private:
00024 TString MakeWild(const char *re);
00025 const char *NextFileQ();
00026 const char *NextFileQQ();
00027 void ResetQQ(const char *path);
00028
00029
00030 Int_t fMaxLev;
00031 Int_t fMaxLevQQ;
00032 Int_t fLevel;
00033 Int_t fState;
00034 Int_t fSele;
00035 Int_t fSkip;
00036 Int_t fTop;
00037 TString fFull;
00038 TString fFile;
00039 TRegexp fRegx;
00040 void *fEntrStk[100];
00041 Int_t fLengStk[100];
00042 TObjArray *fArr;
00043 Int_t fIter;
00044
00045
00046
00047 };
00048 #endif //ROOT_TDirIter