Repository: mesos Updated Branches: refs/heads/master 2eaa20d47 -> 2d36e2c96
Added doxygen styled comments to Path::basename and Path::dirname. Review: https://reviews.apache.org/r/35998 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/2d36e2c9 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/2d36e2c9 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/2d36e2c9 Branch: refs/heads/master Commit: 2d36e2c96592ae5c1407a36974bda6447298393d Parents: 2eaa20d Author: Till Toenshoff <[email protected]> Authored: Wed Jul 22 12:36:21 2015 +0200 Committer: Bernd Mathiske <[email protected]> Committed: Wed Jul 22 12:36:21 2015 +0200 ---------------------------------------------------------------------- .../3rdparty/stout/include/stout/path.hpp | 59 ++++++++++++++++++-- 1 file changed, 53 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/2d36e2c9/3rdparty/libprocess/3rdparty/stout/include/stout/path.hpp ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/path.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/path.hpp index 86c12a5..d58f8a4 100644 --- a/3rdparty/libprocess/3rdparty/stout/include/stout/path.hpp +++ b/3rdparty/libprocess/3rdparty/stout/include/stout/path.hpp @@ -20,17 +20,42 @@ #include <stout/strings.hpp> -// Basic abstraction for representing a path in a filesystem. +/** + * Represents a POSIX file systems path and offers common path + * manipulations. + */ class Path { public: explicit Path(const std::string& path) : value(strings::remove(path, "file://", strings::PREFIX)) {} - // TODO(cmaloney): Add more useful operations such as 'absolute()' - // etc. - - // Like the standard '::basename()' except it is thread safe. + // TODO(cmaloney): Add more useful operations such as 'absolute()', + // 'directoryname()', 'filename()', etc. + + /** + * Extracts the component following the final '/'. Trailing '/' + * characters are not counted as part of the pathname. + * + * Like the standard '::basename()' except it is thread safe. + * + * The following list of examples (taken from SUSv2) shows the + * strings returned by basename() for different paths: + * + * path | basename + * ----------- | ----------- + * "/usr/lib" | "lib" + * "/usr/" | "usr" + * "usr" | "usr" + * "/" | "/" + * "." | "." + * ".." | ".." + * + * @return The component following the final '/'. If Path does not + * contain a '/', this returns a copy of Path. If Path is the + * string "/", then this returns the string "/". If Path is an + * empty string, then it returns the string ".". + */ inline std::string basename() { if (value.empty()) { @@ -62,7 +87,29 @@ public: return value.substr(start, end + 1 - start); } - // Like the standard '::dirname()' except it is thread safe. + /** + * Extracts the component up to, but not including, the final '/'. + * Trailing '/' characters are not counted as part of the pathname. + * + * Like the standard '::dirname()' except it is thread safe. + * + * The following list of examples (taken from SUSv2) shows the + * strings returned by dirname() for different paths: + * + * path | dirname + * ----------- | ----------- + * "/usr/lib" | "/usr" + * "/usr/" | "/" + * "usr" | "." + * "/" | "/" + * "." | "." + * ".." | "." + * + * @return The component up to, but not including, the final '/'. If + * Path does not contain a '/', then this returns the string ".". + * If Path is the string "/", then this returns the string "/". + * If Path is an empty string, then this returns the string ".". + */ inline std::string dirname() { if (value.empty()) {
