diff options
Diffstat (limited to 'graphs/cpp/path/path.hh')
| -rw-r--r-- | graphs/cpp/path/path.hh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/graphs/cpp/path/path.hh b/graphs/cpp/path/path.hh new file mode 100644 index 0000000..0a09d05 --- /dev/null +++ b/graphs/cpp/path/path.hh @@ -0,0 +1,25 @@ +#pragma once + +#include <string> +#include <vector> + +class Path +{ +public: + Path() = default; + virtual ~Path() = default; + + /* + ** Return the complete path as a string. + */ + virtual std::string to_string() const = 0; + + /* + ** Add a directory or a file at the end of the path. + */ + virtual Path& join(const std::string& tail, bool is_file = false); + +protected: + std::vector<std::string> path_; + bool final_ = false; +}; |
