15#define DIR_DELIM_CHAR '\\'
16#define FILESYS_CASE_INSENSITIVE true
20#define DIR_DELIM_CHAR '/'
24#define FILESYS_CASE_INSENSITIVE false
42std::vector<DirListNode>
GetDirListing(
const std::string &path);
47[[nodiscard]]
bool PathExists(
const std::string &path);
51[[nodiscard]]
bool IsDir(
const std::string &path);
55[[nodiscard]]
bool IsFile(
const std::string &path);
94 std::vector<std::string> &dst,
96 std::string_view ignore = {});
106bool CopyDir(
const std::string &source,
const std::string &target);
110bool MoveDir(
const std::string &source,
const std::string &target);
114bool PathsEqual(
const std::string &p1,
const std::string &p2);
119bool PathStartsWith(
const std::string &path,
const std::string &prefix);
135 std::string *removed =
nullptr,
int count = 1);
162bool safeWriteToFile(
const std::string &path, std::string_view content);
165bool extractZipFile(io::IFileSystem *fs,
const char *filename,
const std::string &destination);
168bool ReadFile(
const std::string &path, std::string &out,
bool log_error =
false);
170bool Rename(
const std::string &from,
const std::string &to);
182bool OpenStream(std::filebuf &stream,
const char *filename,
183 std::ios::openmode mode,
bool log_error,
bool log_warn);
201 std::ios::openmode mode = std::ios::openmode())
203 mode |= std::ios::out | std::ios::binary;
204 if (!(mode & std::ios::app))
205 mode |= std::ios::trunc;
208 ofs.setstate(std::ios::failbit);
224 std::ios::openmode mode = std::ios::openmode())
226 mode |= std::ios::in | std::ios::binary;
229 ifs.setstate(std::ios::failbit);
static v2f dir(const v2f &pos_dist)
Definition camera.cpp:205
#define DIR_DELIM_CHAR
Definition filesys.h:20
std::ofstream open_ofstream(const char *name, bool log, std::ios::openmode mode=std::ios::openmode())
Helper function to open an output file stream (= writing).
Definition filesys.h:200
std::ifstream open_ifstream(const char *name, bool log, std::ios::openmode mode=std::ios::openmode())
Helper function to open an input file stream (= reading).
Definition filesys.h:223
Definition filesys.cpp:56
void GetRecursiveDirs(std::vector< std::string > &dirs, const std::string &dir)
Definition filesys.cpp:556
bool IsPathAbsolute(const std::string &path)
Definition filesys.cpp:336
void GetRecursiveSubPaths(const std::string &path, std::vector< std::string > &dst, bool list_files, std::string_view ignore)
Definition filesys.cpp:572
std::string MakePathRelativeTo(const std::string &child, const std::string &parent)
Definition filesys.cpp:741
bool IsDirDelimiter(char c)
Definition filesys.h:57
bool CopyDir(const std::string &source, const std::string &target)
Definition filesys.cpp:606
std::string RemoveRelativePathComponents(std::string path)
Definition filesys.cpp:800
std::string AbsolutePath(const std::string &path)
Definition filesys.cpp:853
std::string AbsolutePathPartial(const std::string &path)
Definition filesys.cpp:878
std::string TempPath()
Returns path to temp directory.
Definition filesys.cpp:425
bool RecursiveDelete(const std::string &path)
Definition filesys.cpp:367
bool IsDir(const std::string &path)
Definition filesys.cpp:341
bool PathExists(const std::string &path)
Definition filesys.cpp:331
bool MoveDir(const std::string &source, const std::string &target)
Definition filesys.cpp:635
const char * GetFilenameFromPath(const char *path)
Definition filesys.cpp:907
std::string CreateTempFile()
Returns path to securely-created temporary file (will already exist when this function returns).
Definition filesys.cpp:441
bool IsFile(const std::string &path)
Definition filesys.cpp:349
bool CreateAllDirs(const std::string &path)
Definition filesys.cpp:590
bool Rename(const std::string &from, const std::string &to)
Definition filesys.cpp:1113
std::vector< DirListNode > GetDirListing(const std::string &pathstring)
Definition filesys.cpp:264
bool IsExecutable(const std::string &path)
Definition filesys.cpp:362
std::string RemoveLastPathComponent(const std::string &path, std::string *removed, int count)
Definition filesys.cpp:762
bool CopyFileContents(const std::string &source, const std::string &target)
Definition filesys.cpp:470
bool CreateDir(const std::string &path)
Definition filesys.cpp:317
bool ReadFile(const std::string &path, std::string &out, bool log_error)
Definition filesys.cpp:1099
bool PathStartsWith(const std::string &path, const std::string &prefix)
Definition filesys.cpp:727
bool safeWriteToFile(const std::string &path, std::string_view content)
Definition filesys.cpp:932
bool OpenStream(std::filebuf &stream, const char *filename, std::ios::openmode mode, bool log_error, bool log_warn)
Open a file buffer with error handling, commonly used with std::fstream.rdbuf().
Definition filesys.cpp:1118
bool PathsEqual(const std::string &p1, const std::string &p2)
Definition filesys.cpp:713
std::string CreateTempDir()
Returns path to securely-created temporary directory (will already exist when this function returns).
Definition filesys.cpp:451
bool DeleteSingleFileOrEmptyDirectory(const std::string &path, bool log_error)
Definition filesys.cpp:410
std::string name
Definition filesys.h:37
bool dir
Definition filesys.h:38