///
/// @param path Input path.
/// @result The root name of \a path if it has one, otherwise "".
-const StringRef root_name(StringRef path);
+StringRef root_name(StringRef path);
/// @brief Get root directory.
///
/// @param path Input path.
/// @result The root directory of \a path if it has one, otherwise
/// "".
-const StringRef root_directory(StringRef path);
+StringRef root_directory(StringRef path);
/// @brief Get root path.
///
///
/// @param path Input path.
/// @result The root path of \a path if it has one, otherwise "".
-const StringRef root_path(StringRef path);
+StringRef root_path(StringRef path);
/// @brief Get relative path.
///
///
/// @param path Input path.
/// @result The path starting after root_path if one exists, otherwise "".
-const StringRef relative_path(StringRef path);
+StringRef relative_path(StringRef path);
/// @brief Get parent path.
///
///
/// @param path Input path.
/// @result The parent path of \a path if one exists, otherwise "".
-const StringRef parent_path(StringRef path);
+StringRef parent_path(StringRef path);
/// @brief Get filename.
///
/// @param path Input path.
/// @result The filename part of \a path. This is defined as the last component
/// of \a path.
-const StringRef filename(StringRef path);
+StringRef filename(StringRef path);
/// @brief Get stem.
///
///
/// @param path Input path.
/// @result The stem of \a path.
-const StringRef stem(StringRef path);
+StringRef stem(StringRef path);
/// @brief Get extension.
///
///
/// @param path Input path.
/// @result The extension of \a path.
-const StringRef extension(StringRef path);
+StringRef extension(StringRef path);
/// @brief Check whether the given char is a path separator on the host OS.
///
/// @brief Return the preferred separator for this platform.
///
/// @result StringRef of the preferred separator, null-terminated.
-const StringRef get_separator();
+StringRef get_separator();
/// @brief Get the typical temporary directory for the system, e.g.,
/// "/var/tmp" or "C:/TEMP"