14 :
public std::vector<std::string>
16 using Super = std::vector<std::string>;
17 using iterator = Super::iterator;
18 using const_iterator = Super::const_iterator;
31 template <
class String>
38 template <
class InputIt>
39 Path(InputIt it, InputIt end_it)
45 template <
class String>
46 Path(std::initializer_list<String>
const& list)
47 :
Path(list.begin(), list.end())
60 return empty() ?
Path() :
Path(begin(), --end());
66 return empty() ?
Path() :
Path(back());
76 std::string
string()
const;
104 template <
class CharT,
class Traits>
105 friend std::basic_ostream<CharT, Traits>&
operator<<(std::basic_ostream<CharT, Traits>& out,
Path const& p)
107 out <<
'"' << p.
string() <<
'"';
115 void split(std::string p);
118 std::string original =
"";
131 Path
relative(Path
const& a, Path
const& b);
Path relative(Path const &a, Path const &b)
Find the path of a relative to directory of b
Definition: filesystem.cc:173
bool createDirectories(Path const &p)
Create directory and non existing parent directories.
Definition: filesystem.cc:140
Path currentPath()
Returns the current path.
Definition: filesystem.cc:125
bool exists(Path const &p)
Test whether the path is a valid (existing and accessible) file / directory.
Definition: filesystem.cc:134
Definition: filesystem.hh:15
bool isDirectory() const
Check whether path is a regular file.
Definition: filesystem.cc:117
static constexpr char preferredSeparator
Definition: filesystem.hh:24
Path & operator/=(Path const &p)
Appends elements to the path.
Definition: filesystem.cc:101
Path parentPath() const
Returns the path of the parent path.
Definition: filesystem.hh:58
Path(std::initializer_list< String > const &list)
Definition: filesystem.hh:46
Path stem() const
Returns the stem path component.
Definition: filesystem.cc:66
Path extension() const
Returns the file extension path component.
Definition: filesystem.cc:77
std::string string() const
Return the path as string.
Definition: filesystem.cc:27
bool isFile() const
Check whether path is a regular file.
Definition: filesystem.cc:109
Path filename() const
Returns filename path component.
Definition: filesystem.hh:64
bool isRelative() const
Definition: filesystem.hh:86
Path(InputIt it, InputIt end_it)
Definition: filesystem.hh:39
bool operator==(Path const &p)
Lexicographically compares two paths.
Definition: filesystem.hh:95
bool isAbsolute() const
Definition: filesystem.hh:84
Path & removeFilename()
Removes filename path component.
Definition: filesystem.hh:51
Path(String const &p)
Definition: filesystem.hh:32
friend std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > &out, Path const &p)
output of the path
Definition: filesystem.hh:105
void split(std::string p)
Definition: filesystem.cc:40