From 5cea9251bdd364fb2bc0416e5b6f51483fdbfa14 Mon Sep 17 00:00:00 2001 From: Username404 Date: Sun, 3 Oct 2021 12:20:59 +0200 Subject: [PATCH] Return a string_view instead of a string in the ArgumentAssignable::getValueFor function --- src/headers/arguments.hpp | 4 ++-- src/main.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/headers/arguments.hpp b/src/headers/arguments.hpp index 0cef115..2927d8f 100644 --- a/src/headers/arguments.hpp +++ b/src/headers/arguments.hpp @@ -25,9 +25,9 @@ public: class ArgumentAssignable: public Argument { vector values; public: - static string getValueFor(const string& str) { + static string_view getValueFor(const string_view& str) { unsigned long definePos = str.find_last_of('=') + 1; - return str.size() > definePos ? str.substr(definePos) : string(); + return str.size() > definePos ? str.substr(definePos) : string_view(); } ArgumentAssignable(string name, const span& possibleValues): Argument(move(name)), values() { values.reserve(possibleValues.size()); diff --git a/src/main.cpp b/src/main.cpp index 92d9d98..7674bff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -22,7 +22,7 @@ int main(int argc, char* argv[]) { if ((argc == 2) && (currentArg == Argument("version"))) { cout << Yerbacon::getVersion() << endl; exit(EXIT_SUCCESS); } else if (currentArg == ArgumentShort("printresult")) printResult = true; else if (currentArg == ArgumentAssignable("target")) { - const string value = ArgumentAssignable::getValueFor(currentArg.data()); + const string_view value = ArgumentAssignable::getValueFor(currentArg); if (!value.empty()) (target = '.') += value; } else if (currentArg == Argument("parallel")) parallel = true;