xlnt
|
Encapsulates a path that points to location in a filesystem. More...
#include <path.hpp>
Public Member Functions | |
path () | |
Construct an empty path. More... | |
path (const std::string &path_string) | |
Counstruct a path from a string representing the path. More... | |
path (const std::string &path_string, char sep) | |
Construct a path from a string with an explicit directory seprator. More... | |
bool | is_relative () const |
Return true iff this path doesn't begin with / (or a drive letter on Windows). More... | |
bool | is_absolute () const |
Return true iff path::is_relative() is false. More... | |
bool | is_root () const |
Return true iff this path is the root directory. More... | |
path | parent () const |
Return a new path that points to the directory containing the current path Return the path unchanged if this path is the absolute or relative root. More... | |
std::string | filename () const |
Return the last component of this path. More... | |
std::string | extension () const |
Return the part of the path following the last dot in the filename. More... | |
std::pair< std::string, std::string > | split_extension () const |
Return a pair of strings resulting from splitting the filename on the last dot. More... | |
std::vector< std::string > | split () const |
Create a string representing this path separated by the provided separator or the system-default separator if not provided. More... | |
const std::string & | string () const |
Create a string representing this path separated by the provided separator or the system-default separator if not provided. More... | |
path | resolve (const path &base_path) const |
If this path is relative, append each component of this path to base_path and return the resulting absolute path. Otherwise, the the current path will be returned and base_path will be ignored. More... | |
path | relative_to (const path &base_path) const |
The inverse of path::resolve. Creates a relative path from an absolute path by removing the common root between base_path and this path. If the current path is already relative, return it unchanged. More... | |
bool | exists () const |
Return true iff the file or directory pointed to by this path exists on the filesystem. More... | |
bool | is_directory () const |
Return true if the file or directory pointed to by this path is a directory. More... | |
bool | is_file () const |
Return true if the file or directory pointed to by this path is a regular file. More... | |
std::string | read_contents () const |
Open the file pointed to by this path and return a string containing the files contents. More... | |
path | append (const std::string &to_append) const |
Append the provided part to this path and return the result. More... | |
path | append (const path &to_append) const |
Append the provided part to this path and return the result. More... | |
bool | operator== (const path &other) const |
Returns true if left path is equal to right path. More... | |
bool | operator!= (const path &other) const |
Returns true if left path is equal to right path. More... | |
Static Public Member Functions | |
static char | system_separator () |
The system-specific path separator character (e.g. '/' or '\'). More... | |
Encapsulates a path that points to location in a filesystem.
xlnt::path::path | ( | ) |
Construct an empty path.
|
explicit |
Counstruct a path from a string representing the path.
xlnt::path::path | ( | const std::string & | path_string, |
char | sep | ||
) |
Construct a path from a string with an explicit directory seprator.
path xlnt::path::append | ( | const std::string & | to_append | ) | const |
Append the provided part to this path and return the result.
Append the provided part to this path and return the result.
bool xlnt::path::exists | ( | ) | const |
Return true iff the file or directory pointed to by this path exists on the filesystem.
std::string xlnt::path::extension | ( | ) | const |
Return the part of the path following the last dot in the filename.
std::string xlnt::path::filename | ( | ) | const |
Return the last component of this path.
bool xlnt::path::is_absolute | ( | ) | const |
Return true iff path::is_relative() is false.
bool xlnt::path::is_directory | ( | ) | const |
Return true if the file or directory pointed to by this path is a directory.
bool xlnt::path::is_file | ( | ) | const |
Return true if the file or directory pointed to by this path is a regular file.
bool xlnt::path::is_relative | ( | ) | const |
Return true iff this path doesn't begin with / (or a drive letter on Windows).
bool xlnt::path::is_root | ( | ) | const |
Return true iff this path is the root directory.
bool xlnt::path::operator!= | ( | const path & | other | ) | const |
Returns true if left path is equal to right path.
bool xlnt::path::operator== | ( | const path & | other | ) | const |
Returns true if left path is equal to right path.
path xlnt::path::parent | ( | ) | const |
Return a new path that points to the directory containing the current path Return the path unchanged if this path is the absolute or relative root.
std::string xlnt::path::read_contents | ( | ) | const |
Open the file pointed to by this path and return a string containing the files contents.
The inverse of path::resolve. Creates a relative path from an absolute path by removing the common root between base_path and this path. If the current path is already relative, return it unchanged.
If this path is relative, append each component of this path to base_path and return the resulting absolute path. Otherwise, the the current path will be returned and base_path will be ignored.
std::vector<std::string> xlnt::path::split | ( | ) | const |
Create a string representing this path separated by the provided separator or the system-default separator if not provided.
std::pair<std::string, std::string> xlnt::path::split_extension | ( | ) | const |
Return a pair of strings resulting from splitting the filename on the last dot.
const std::string& xlnt::path::string | ( | ) | const |
Create a string representing this path separated by the provided separator or the system-default separator if not provided.
|
static |
The system-specific path separator character (e.g. '/' or '\').