OpenEnroth 73e68f7
|
#include <FileSystemPath.h>
Public Member Functions | |
FileSystemPath (std::string_view path) | |
FileSystemPath (FileSystemPathView path) | |
FileSystemPath ()=default | |
FileSystemPath (const FileSystemPath &)=default | |
FileSystemPath (FileSystemPath &&)=default | |
FileSystemPath & | operator= (const FileSystemPath &)=default |
FileSystemPath & | operator= (FileSystemPath &&)=default |
bool | isEmpty () const |
bool | isPrefixOf (FileSystemPathView path) const |
bool | isEscaping () const |
const std::string & | string () const |
auto | split () const |
FileSystemPathComponents | components () const |
FileSystemPath & | operator/= (std::string_view tail) |
FileSystemPath & | operator/= (FileSystemPathView tail) |
Static Public Member Functions | |
static FileSystemPath | fromNormalized (std::string path) |
Private Attributes | |
std::string | _path |
Friends | |
auto | operator<=> (const FileSystemPath &l, const FileSystemPath &r)=default |
FileSystemPath
does path normalization for FileSystem
, transforming passed paths into a normal form of "foo/bar/baz"
:
"."
and ".."
are collapsed.Note that this means that FileSystemPath
is different from std::filesystem::path
in that there is no difference between a file and a directory at the path level. "foo/bar/."
is normalized into "foo/bar"
, and can then be used to open a file for reading.
|
explicit |
|
inlineexplicit |
|
default |
Constructs a root path.
|
default |
|
default |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
FileSystemPath & FileSystemPath::operator/= | ( | FileSystemPathView | tail | ) |
FileSystemPath & FileSystemPath::operator/= | ( | std::string_view | tail | ) |
|
default |
|
default |
|
inline |
|
inline |
|
friend |
|
private |