6#ifndef ACTIVE_FILE_PATH
7#define ACTIVE_FILE_PATH
9#include "Active/Utility/Cloner.h"
10#include "Active/Utility/String.h"
23 using Unique = std::unique_ptr<Path>;
25 using Shared = std::shared_ptr<Path>;
48 Path(
const std::filesystem::path& path);
122 operator const std::filesystem::path&()
const {
return m_path; }
135 bool empty()
const {
return m_path.empty(); }
220 std::filesystem::path m_path;
Class to represent the path of a node in the local file system.
Definition Path.h:17
~Path()
Definition Path.h:58
std::shared_ptr< Path > Shared
Unique pointer.
Definition Path.h:25
Path operator+(const utility::String &toAppend) const
Definition Path.cpp:98
utility::String getNodeName(bool isExtensionDeleted=false) const
Definition Path.cpp:121
std::unique_ptr< Path > Unique
Unique pointer.
Definition Path.h:23
static Path current()
Definition Path.cpp:62
static const utility::String delimiter
The path delimiter expression for the current platform.
Definition Path.h:30
Path lexicallyNormal() const
Definition Path.h:176
Path & concat(const utility::String &toConcat)
Definition Path.cpp:176
bool empty() const
Definition Path.h:135
Path * clonePtr() const
Definition Path.h:64
Path & replaceFileName(const utility::String &replacement=utility::String{})
Definition Path.cpp:200
Path & removeFileName()
Definition Path.cpp:187
Path relativePath() const
Definition Path.h:171
Path rootName() const
Definition Path.h:161
bool operator!=(const Path &ref) const
Definition Path.h:93
Path & operator/=(const utility::String &toAppend)
Definition Path.h:111
bool operator==(const Path &ref) const
Definition Path.cpp:86
bool hasFileName() const
Definition Path.cpp:151
utility::String platformSpecific() const
Definition Path.cpp:141
Path operator/(const utility::String &toAppend) const
Definition Path.h:99
Path rootDirectory() const
Definition Path.h:156
utility::String getExtension() const
Definition Path.cpp:131
Path & append(const utility::String &toAppend)
Definition Path.cpp:163
Path & operator=(const Path &source)
Definition Path.cpp:72
Path & operator+=(const utility::String &toConcat)
Definition Path.h:117
Path()
Definition Path.cpp:23
Path & replaceExtension(const utility::String &replacement=utility::String{})
Definition Path.cpp:213
Path rootPath() const
Definition Path.h:166
A Unicode-aware string class.
Definition String.h:51
Definition Directory.h:12