Hymn to Beauty
C++ 3D Engine
FileSystem.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
7namespace FileSystem {
9extern const char DELIMITER;
10
12extern const unsigned int FILE;
13
15extern const unsigned int DIRECTORY;
16
18
23bool FileExists(const char* filename);
24
26
30void Copy(const char* source, const char* destination);
31
33
37void CreateDirectory(const char* filename);
38
40
44bool DeleteDirectory(const char* filename);
45
47
52std::vector<std::string> DirectoryContents(const std::string& directoryName, unsigned int type = FILE | DIRECTORY);
53
55
63std::string DataPath(const char* appName);
64
66
75std::string DataPath(const char* appName, const char* filename);
76
78
82std::string GetParentDirectory(const std::string& path);
83
85
89std::string GetExtension(const std::string& filename);
90
92
96std::string GetName(const std::string& filepath);
97
99
103std::string GetDirectory(const std::string& path);
104
106
110void ExecuteProgram(const std::string& path, const std::string& arguments);
111} // namespace FileSystem
Functionality to interact with the file system.
Definition: FileSystem.cpp:21
bool DeleteDirectory(const char *filename)
Delete a directory if it is empty.
Definition: FileSystem.cpp:66
const unsigned int FILE
A file.
Definition: FileSystem.cpp:30
const char DELIMITER
Delimiter, '\' on Windows, '/' elsewhere.
Definition: FileSystem.cpp:27
std::string GetExtension(const std::string &filename)
Get the extension part of a filename.
Definition: FileSystem.cpp:149
void Copy(const char *source, const char *destination)
Copy a file.
Definition: FileSystem.cpp:46
void ExecuteProgram(const std::string &path, const std::string &arguments)
Execute a program asynchronously.
Definition: FileSystem.cpp:180
std::vector< std::string > DirectoryContents(const std::string &directoryName, unsigned int type)
Get all the contents of a directory.
Definition: FileSystem.cpp:76
std::string GetName(const std::string &filepath)
Get the name of the file without the extension.
Definition: FileSystem.cpp:161
std::string GetParentDirectory(const std::string &path)
Get the parent directory of a path.
Definition: FileSystem.cpp:140
const unsigned int DIRECTORY
A directory.
Definition: FileSystem.cpp:31
void CreateDirectory(const char *filename)
Create a directory if it does not already exist.
Definition: FileSystem.cpp:56
std::string DataPath(const char *appName)
Get save path for application data folder.
Definition: FileSystem.cpp:109
std::string GetDirectory(const std::string &path)
Get the directory part for a path (including the final delimiter).
Definition: FileSystem.cpp:170
bool FileExists(const char *filename)
Check if a file exists.
Definition: FileSystem.cpp:33