00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef INDRI_PATH_HPP
00021 #define INDRI_PATH_HPP
00022
00023 #include <string>
00024 namespace indri
00025 {
00026 namespace file
00027 {
00028
00029 class Path {
00030 public:
00031 static void create( const std::string& path );
00032 static bool isFile( const std::string& path );
00033 static bool isDirectory( const std::string& path );
00034 static bool exists( const std::string& path );
00035 static void remove( const std::string& path );
00036 static void rename( const std::string& oldPath, const std::string& newPath );
00037 static void make( const std::string& path );
00038
00039 static std::string trim( const std::string& path );
00040 static std::string relative( const std::string& basePath, const std::string absolutePath );
00041
00042 static char pathSeparator();
00043
00044 static std::string combine( const std::string& root, const std::string& addition );
00045 static std::string extension( const std::string& path );
00046 static std::string directory( const std::string& path );
00047 static std::string filename( const std::string& path );
00048 static std::string basename( const std::string& path );
00049 };
00050 }
00051 }
00052
00053 #endif // INDRI_PATH_HPP
00054