40 #ifndef __OPENFLUID_TOOLS_FILESYSTEM_HPP__
41 #define __OPENFLUID_TOOLS_FILESYSTEM_HPP__
62 #if defined(OPENFLUID_OS_UNIX)
64 #elif defined(OPENFLUID_OS_WINDOWS)
71 #if defined(OPENFLUID_OS_UNIX)
73 #elif defined(OPENFLUID_OS_WINDOWS)
84 static std::string joinPath(
const std::vector<std::string>& PathParts);
92 static std::string filename(
const std::string& Path);
100 static std::string basename(
const std::string& Path);
108 static std::string dirname(
const std::string& Path);
116 static std::string extension(
const std::string& Path);
122 static std::string currentPath();
130 static std::string absolutePath(
const std::string& Path);
137 static std::string cleanPath(
const std::string& Path);
144 static bool isDirectory(
const std::string& Path);
151 static bool isFile(
const std::string& Path);
159 static bool makeDirectory(
const std::string& Path);
166 static bool removeDirectory(
const std::string& Path);
176 static std::string makeUniqueSubdirectory(
const std::string& Path,
const std::string& SubdirName);
186 static std::string makeUniqueFile(
const std::string& Path,
const std::string& FileName);
194 static bool removeFile(
const std::string& Path);
202 static bool copyFile(
const std::string& SrcPath,
const std::string& DestPath);
210 static bool renameFile(
const std::string& OriginalPath,
const std::string& NewPath);
220 static bool copyDirectory(
const std::string& SrcPath,
const std::string& DestPath,
221 const bool DontCopyDotDirs =
false);