From aaed751bf4430bf4b9b30cef532b8753b9f639ce Mon Sep 17 00:00:00 2001 From: untodesu Date: Thu, 11 Sep 2025 13:48:31 +0500 Subject: Replace most of C strings with string_view --- core/io/cmdline.cc | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'core/io/cmdline.cc') diff --git a/core/io/cmdline.cc b/core/io/cmdline.cc index 963f67c..7a00f37 100644 --- a/core/io/cmdline.cc +++ b/core/io/cmdline.cc @@ -57,19 +57,30 @@ void io::cmdline::create(int argc, char** argv) } } -void io::cmdline::insert(const char* option, const char* argument) +void io::cmdline::insert(std::string_view option) { - if(argument == nullptr) { - options.insert_or_assign(option, std::string()); - } - else { - options.insert_or_assign(option, argument); + options.insert_or_assign(std::string(option), std::string()); +} + +void io::cmdline::insert(std::string_view option, std::string_view argument) +{ + options.insert_or_assign(std::string(option), std::string(argument)); +} + +std::string_view io::cmdline::get(std::string_view option, std::string_view fallback) +{ + auto it = options.find(std::string(option)); + + if(it == options.cend()) { + return fallback; } + + return it->second; } -const char* io::cmdline::get(const char* option, const char* fallback) +const char* io::cmdline::get_cstr(std::string_view option, const char* fallback) { - auto it = options.find(option); + auto it = options.find(std::string(option)); if(it == options.cend()) { return fallback; @@ -78,7 +89,7 @@ const char* io::cmdline::get(const char* option, const char* fallback) return it->second.c_str(); } -bool io::cmdline::contains(const char* option) +bool io::cmdline::contains(std::string_view option) { - return options.count(option); + return options.count(std::string(option)); } -- cgit