|
| path (const std::string &s, bool x_undisclosed=false) |
| constructor from a string
|
| path (const path &ref) |
| copy constructor
|
| path (path &&ref) noexcept=default |
| move constructor
|
path & | operator= (const path &ref) |
| assignment operator
|
path & | operator= (path &&ref) noexcept=default |
| move operator
|
| ~path ()=default |
| destructor
|
bool | operator== (const path &ref) const |
| comparison operator
|
bool | operator!= (const path &ref) const |
std::string | basename () const |
| get the basename of a path
|
void | reset_read () const |
| reset the read_subdir operation
|
bool | read_subdir (std::string &r) const |
| sequentially read the elements that compose the path
|
bool | is_relative () const |
| whether the path is relative or absolute (= start with a /)
|
bool | is_absolute () const |
| whether the path is absolute or relative
|
bool | is_undisclosed () const |
| whether the path has an undisclosed part at the beginning
|
bool | pop (std::string &arg) |
| remove and gives in argument the basename of the path
|
bool | pop_front (std::string &arg) |
| remove and gives in argument the outer most member of the path
|
path | operator+ (const path &arg) const |
| add a path to the current path. The added path must be a relative path
|
path | append (const std::string &sub) const |
| add a single sub-directory to the path
|
path & | operator+= (const path &arg) |
| add a path to the current path. The added path must be a relative path
|
path & | operator+= (const std::string &sub) |
| add a single sub-directory to the current path object
|
bool | is_subdir_of (const path &p, bool case_sensit) const |
| test whether the current object is a subdir of the method's argument
|
std::string | display () const |
| convert back a path to a string
|
std::string | display_without_root () const |
| display the path as a string but without the first member of the path
|
U_I | degre () const |
| returns the number of member in the path
|
void | explode_undisclosed () const |
| if the current object is an undisclosed path, tries to convert it back to normal path
|
the class path is here to manipulate paths in the Unix notation: using'/'
several operations are provided as well as convertion functions, but for the API user, it can be used as if it was a std::string object. However if the argument is not a valid path, an exception may be thrown by libdar
- Note
- the most frequent method you will use from API point of view is path::display() which provides a std::string representing the path
Definition at line 50 of file path.hpp.
libdar::path::path |
( |
const std::string & | s, |
|
|
bool | x_undisclosed = false ) |
constructor from a string
This realizes the string to path convertion function
- Parameters
-
[in] | s | the string to convert to path |
[in] | x_undisclosed | do not split the given string, consider it as a single directory name, even if some '/' are found in it |
- Note
- empty string is not a valid string (exception thrown)
-
having undisclosed set to true, does not allow one to pop() right away, first push must be made. While having undisclosed set to false let the user pop() right away if the given string is composed of several path members ("member1/member2/member3" for example of path allow one to pop() three time, while in the same example setting undisclosed to true, allow one to pop() just once).
Referenced by append(), is_subdir_of(), operator+(), operator+=(), operator+=(), operator=(), operator=(), operator==(), path(), and path().