aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/parser.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/parser.hh')
-rw-r--r--src/libutil/parser.hh10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libutil/parser.hh b/src/libutil/parser.hh
index a6a83ce89..d19d7d8ed 100644
--- a/src/libutil/parser.hh
+++ b/src/libutil/parser.hh
@@ -3,13 +3,15 @@
#include <optional>
#include <string_view>
+#include "util.hh"
+
namespace nix {
// If `separator` is found, we return the portion of the string before the
// separator, and modify the string argument to contain only the part after the
// separator. Otherwise, wer return `std::nullopt`, and we leave the argument
// string alone.
-static inline std::optional<std::string_view> splitPrefix(std::string_view & string, char separator) {
+static inline std::optional<std::string_view> splitPrefixTo(std::string_view & string, char separator) {
auto sepInstance = string.find(separator);
if (sepInstance != std::string_view::npos) {
@@ -21,5 +23,11 @@ static inline std::optional<std::string_view> splitPrefix(std::string_view & str
return std::nullopt;
}
+static inline bool splitPrefix(std::string_view & string, std::string_view prefix) {
+ bool res = hasPrefix(string, prefix);
+ if (res)
+ string.remove_prefix(prefix.length());
+ return res;
+}
}