1 #include "lxgui/utils_file_system.hpp"
3 #include "lxgui/utils_std.hpp"
4 #include "lxgui/utils_string.hpp"
11 return std::filesystem::exists(file) && std::filesystem::is_regular_file(file);
16 for (
const auto& entry : std::filesystem::directory_iterator(rel_path)) {
17 if (entry.is_directory())
18 dir_list.push_back(entry.path().filename().u8string());
26 for (
const auto& entry : std::filesystem::directory_iterator(rel_path)) {
27 if (entry.is_regular_file()) {
29 file_list.push_back(entry.path().relative_path().u8string());
31 file_list.push_back(entry.path().filename().u8string());
39 get_file_list(
const std::string& rel_path,
bool with_path,
const std::string& extensions) {
40 auto extension_list = utils::cut(extensions,
",");
41 for (
auto& extension : extension_list)
42 extension = utils::trim(extension,
' ');
45 for (
const auto& entry : std::filesystem::directory_iterator(rel_path)) {
46 if (entry.is_regular_file()) {
47 if (
utils::find(extension_list, entry.path().extension().u8string()) !=
48 extension_list.end()) {
50 file_list.push_back(entry.path().relative_path().u8string());
52 file_list.push_back(entry.path().filename().u8string());
61 std::filesystem::create_directories(path);
62 return std::filesystem::exists(path) && std::filesystem::is_directory(path);
66 return std::filesystem::path(file).extension().u8string();
auto find(C &v, const T &s)
bool make_directory(const std::string &path)
string_vector get_file_list(const std::string &rel_path, bool with_path)
string_vector get_directory_list(const std::string &rel_path)
std::string get_file_extension(const std::string &file)
bool file_exists(const std::string &file)
std::vector< std::string > string_vector