Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef UDIRECTORY_H
00021 #define UDIRECTORY_H
00022
00023 #include "rtabmap/utilite/UtiLiteExp.h"
00024
00025 #include <string>
00026 #include <vector>
00027 #include <list>
00028
00034 class UTILITE_EXP UDirectory
00035 {
00036 public:
00042 static bool exists(const std::string & dirPath);
00043
00049 static std::string getDir(const std::string & filePath);
00050
00056 static std::string currentDir(bool trailingSeparator = false);
00057
00063 static bool makeDir(const std::string & dirPath);
00064
00070 static bool removeDir(const std::string & dirPath);
00071
00076 static std::string homeDir();
00077
00081 static std::string separator();
00082
00083 public:
00090 UDirectory(const std::string & path = "", const std::string & extensions = "");
00091 UDirectory(const UDirectory & dir);
00092 UDirectory & operator=(const UDirectory & dir);
00093 ~UDirectory();
00094
00099 void setPath(const std::string & path, const std::string & extensions = "");
00100
00104 void update();
00105
00110 bool isValid();
00111
00116 std::string getNextFileName();
00117
00122 std::string getNextFilePath();
00123
00129 const std::list<std::string> & getFileNames() const {return fileNames_;}
00130
00134 void rewind();
00135
00136 private:
00137 std::string path_;
00138 std::vector<std::string> extensions_;
00139 std::list<std::string> fileNames_;
00140 std::list<std::string>::iterator iFileName_;
00141 };
00142
00143 #endif