3 #include "IO/Path/Path.h"
5 #include <Core/Exceptions.h>
13 namespace fs = std::filesystem;
53 explicit CDir(
CPath i_oPath) : m_oPath(std::move(i_oPath)) {};
64 std::optional<std::vector<std::string>> i_astExtensionFilters = std::nullopt);
71 return fs::create_directories(i_oPath.
getPath());
78 return fs::create_directory_symlink(i_oTargetPath.
getPath(), i_oLinkPath.
getPath());
85 return fs::is_directory(i_oPath.
getPath());
91 return CPath(std::move(fs::temp_directory_path()));
A class for directory operations.
Definition: Dir.h:46
static CPath getTempDirectoryPath()
Static function to get the path of the temporary directory.
Definition: Dir.h:90
static bool createDirectories(const CPath &i_oPath)
Static function to create directories.
Definition: Dir.h:70
CDir(CPath i_oPath)
Construct a CDir object using the provided path.
Definition: Dir.h:53
std::vector< CPath > getDirectoryFiles(bool i_bIsRecursive=false, std::optional< std::vector< std::string >> i_astExtensionFilters=std::nullopt)
Get the files in the directory.
Definition: Dir.cpp:29
static bool isDirectory(const CPath &i_oPath)
Static function to check if a path is a directory.
Definition: Dir.h:84
CDir()=default
Default constructor for CDir.
static void createDirectorySymlink(const CPath &i_oTargetPath, const CPath &i_oLinkPath)
Static function to create a symlink for a directory.
Definition: Dir.h:77
A class that encapsulates the functionality of std::filesystem::path.
Definition: Path.h:28
const fs::path & getPath() const
Returns the encapsulated fs::path object.
Definition: Path.h:121
The namespace encapsulating I/O related classes and functions in the Devel framework.