12 #pragma clang diagnostic push
13 #pragma clang diagnostic ignored "-Wunreachable-code"
15 #pragma clang diagnostic pop
57 File(
string dirPath,
string filePath);
61 File fileWithDifferentExtension(
string extension);
63 bool isInArchive(
void);
64 string getArchivePath(
void);
65 string getRelativePath(
void);
72 char * getContentsAsRawData(
size_t &numBytes);
73 string getContentsAsString(
void);
80 static void splitPath(
string path,
string &dir,
string &file,
string &extension);
84 static string makeTmpFile(
string file,
string extension,
string directory=
"");
88 static void makeDir(
string path);
111 static void moveFile(
string fromPath,
string toPath);
113 static void copyFile(
string fromPath,
string toPath,
bool preserveMetadata =
false);
118 static set<File *>
findAllFilesInDirectory(
string dirPath, set<string> archiveExtensions = set<string>(),
bool shouldSearchRecursively =
false);
119 static set<File *>
findFilesInDirectory(
string dirPath, set<string> extensions, set<string> archiveExtensions = set<string>());
121 static set<File *>
findFilesInArchive(
string archivePath,
string dirPath, set<string> extensions);