15#define DIR_DELIM_CHAR '\\'
16#define FILESYS_CASE_INSENSITIVE true
20#define DIR_DELIM_CHAR '/'
21#define FILESYS_CASE_INSENSITIVE false
39std::vector<DirListNode>
GetDirListing(
const std::string &path);
44[[nodiscard]]
bool PathExists(
const std::string &path);
48[[nodiscard]]
bool IsDir(
const std::string &path);
52[[nodiscard]]
bool IsFile(
const std::string &path);
91 std::vector<std::string> &dst,
93 std::string_view ignore = {});
103bool CopyDir(
const std::string &source,
const std::string &target);
107bool MoveDir(
const std::string &source,
const std::string &target);
112bool PathStartsWith(
const std::string &path,
const std::string &prefix);
120 std::string *removed =
nullptr,
int count = 1);
147bool safeWriteToFile(
const std::string &path, std::string_view content);
150bool extractZipFile(io::IFileSystem *
fs,
const char *filename,
const std::string &destination);
153bool ReadFile(
const std::string &path, std::string &out,
bool log_error =
false);
155bool Rename(
const std::string &from,
const std::string &to);
167bool OpenStream(std::filebuf &stream,
const char *filename,
168 std::ios::openmode mode,
bool log_error,
bool log_warn);
186 std::ios::openmode mode = std::ios::openmode())
188 mode |= std::ios::out | std::ios::binary;
189 if (!(mode & std::ios::app))
190 mode |= std::ios::trunc;
193 ofs.setstate(std::ios::failbit);
209 std::ios::openmode mode = std::ios::openmode())
211 mode |= std::ios::in | std::ios::binary;
214 ifs.setstate(std::ios::failbit);
static v2f dir(const v2f &pos_dist)
Definition camera.cpp:207
#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:185
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:208
Definition filesys.cpp:53
void GetRecursiveDirs(std::vector< std::string > &dirs, const std::string &dir)
Definition filesys.cpp:554
bool IsPathAbsolute(const std::string &path)
Definition filesys.cpp:333
void GetRecursiveSubPaths(const std::string &path, std::vector< std::string > &dst, bool list_files, std::string_view ignore)
Definition filesys.cpp:570
bool IsDirDelimiter(char c)
Definition filesys.h:54
bool CopyDir(const std::string &source, const std::string &target)
Definition filesys.cpp:604
std::string RemoveRelativePathComponents(std::string path)
Definition filesys.cpp:756
std::string AbsolutePath(const std::string &path)
Definition filesys.cpp:809
std::string AbsolutePathPartial(const std::string &path)
Definition filesys.cpp:828
std::string TempPath()
Returns path to temp directory.
Definition filesys.cpp:423
bool RecursiveDelete(const std::string &path)
Definition filesys.cpp:364
bool IsDir(const std::string &path)
Definition filesys.cpp:338
bool PathExists(const std::string &path)
Definition filesys.cpp:328
bool MoveDir(const std::string &source, const std::string &target)
Definition filesys.cpp:633
const char * GetFilenameFromPath(const char *path)
Definition filesys.cpp:857
std::string CreateTempFile()
Returns path to securely-created temporary file (will already exist when this function returns).
Definition filesys.cpp:439
bool IsFile(const std::string &path)
Definition filesys.cpp:346
bool CreateAllDirs(const std::string &path)
Definition filesys.cpp:588
bool Rename(const std::string &from, const std::string &to)
Definition filesys.cpp:1063
std::vector< DirListNode > GetDirListing(const std::string &pathstring)
Definition filesys.cpp:261
bool IsExecutable(const std::string &path)
Definition filesys.cpp:359
std::string RemoveLastPathComponent(const std::string &path, std::string *removed, int count)
Definition filesys.cpp:718
bool CopyFileContents(const std::string &source, const std::string &target)
Definition filesys.cpp:468
bool CreateDir(const std::string &path)
Definition filesys.cpp:314
bool ReadFile(const std::string &path, std::string &out, bool log_error)
Definition filesys.cpp:1049
bool PathStartsWith(const std::string &path, const std::string &prefix)
Definition filesys.cpp:657
bool safeWriteToFile(const std::string &path, std::string_view content)
Definition filesys.cpp:882
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:1068
std::string CreateTempDir()
Returns path to securely-created temporary directory (will already exist when this function returns).
Definition filesys.cpp:449
bool DeleteSingleFileOrEmptyDirectory(const std::string &path, bool log_error)
Definition filesys.cpp:408
std::string name
Definition filesys.h:34
bool dir
Definition filesys.h:35