diff options
Diffstat (limited to 'src/utils/cpp/path.hpp')
-rw-r--r-- | src/utils/cpp/path.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/utils/cpp/path.hpp b/src/utils/cpp/path.hpp new file mode 100644 index 00000000..045ece0e --- /dev/null +++ b/src/utils/cpp/path.hpp @@ -0,0 +1,15 @@ +#ifndef INCLUDED_SRC_UTILS_CPP_PATH_HPP +#define INCLUDED_SRC_UTILS_CPP_PATH_HPP + +#include <filesystem> + +[[nodiscard]] static inline auto ToNormalPath(std::filesystem::path const& p) + -> std::filesystem::path { + auto n = p.lexically_normal(); + if (not n.has_filename()) { + return n.parent_path(); + } + return n; +} + +#endif |