From eae3f31b2f755d2a1397bb3559944a74562d0866 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sun, 23 Nov 2025 00:00:38 +0000 Subject: [PATCH] e --- include/hyprutils/cli/ArgumentParser.hpp | 16 ++++++------ src/cli/ArgumentParser.cpp | 32 ++++++++++++------------ src/cli/ArgumentParser.hpp | 2 +- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/include/hyprutils/cli/ArgumentParser.hpp b/include/hyprutils/cli/ArgumentParser.hpp index 7ae9746..9b36f1d 100644 --- a/include/hyprutils/cli/ArgumentParser.hpp +++ b/include/hyprutils/cli/ArgumentParser.hpp @@ -15,15 +15,15 @@ namespace Hyprutils::CLI { CArgumentParser(const std::span& args); ~CArgumentParser() = default; - std::expected registerBoolOption(std::string&& name, std::string&& abbrev, std::string&& description); - std::expected registerIntOption(std::string&& name, std::string&& abbrev, std::string&& description); - std::expected registerFloatOption(std::string&& name, std::string&& abbrev, std::string&& description); - std::expected registerStringOption(std::string&& name, std::string&& abbrev, std::string&& description); + std::expected registerBoolOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description); + std::expected registerIntOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description); + std::expected registerFloatOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description); + std::expected registerStringOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description); - std::optional getBool(const char* name); - std::optional getInt(const char* name); - std::optional getFloat(const char* name); - std::optional getString(const char* name); + std::optional getBool(const std::string_view& name); + std::optional getInt(const std::string_view& name); + std::optional getFloat(const std::string_view& name); + std::optional getString(const std::string_view& name); // commence the parsing after registering std::expected parse(); diff --git a/src/cli/ArgumentParser.cpp b/src/cli/ArgumentParser.cpp index 41bb93a..e379fd8 100644 --- a/src/cli/ArgumentParser.cpp +++ b/src/cli/ArgumentParser.cpp @@ -15,23 +15,23 @@ CArgumentParser::CArgumentParser(const std::span& args) : m_impl(ma ; } -std::expected CArgumentParser::registerBoolOption(std::string&& name, std::string&& abbrev, std::string&& description) { - return m_impl->registerOption(std::move(name), std::move(abbrev), std::move(description), ARG_TYPE_BOOL); +std::expected CArgumentParser::registerBoolOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description) { + return m_impl->registerOption(name, abbrev, description, ARG_TYPE_BOOL); } -std::expected CArgumentParser::registerIntOption(std::string&& name, std::string&& abbrev, std::string&& description) { - return m_impl->registerOption(std::move(name), std::move(abbrev), std::move(description), ARG_TYPE_INT); +std::expected CArgumentParser::registerIntOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description) { + return m_impl->registerOption(name, abbrev, description, ARG_TYPE_INT); } -std::expected CArgumentParser::registerFloatOption(std::string&& name, std::string&& abbrev, std::string&& description) { - return m_impl->registerOption(std::move(name), std::move(abbrev), std::move(description), ARG_TYPE_FLOAT); +std::expected CArgumentParser::registerFloatOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description) { + return m_impl->registerOption(name, abbrev, description, ARG_TYPE_FLOAT); } -std::expected CArgumentParser::registerStringOption(std::string&& name, std::string&& abbrev, std::string&& description) { - return m_impl->registerOption(std::move(name), std::move(abbrev), std::move(description), ARG_TYPE_STR); +std::expected CArgumentParser::registerStringOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description) { + return m_impl->registerOption(name, abbrev, description, ARG_TYPE_STR); } -std::optional CArgumentParser::getBool(const char* name) { +std::optional CArgumentParser::getBool(const std::string_view& name) { auto ref = m_impl->getValue(name); if (ref == m_impl->m_values.end()) @@ -43,7 +43,7 @@ std::optional CArgumentParser::getBool(const char* name) { return std::nullopt; } -std::optional CArgumentParser::getInt(const char* name) { +std::optional CArgumentParser::getInt(const std::string_view& name) { auto ref = m_impl->getValue(name); if (ref == m_impl->m_values.end()) @@ -55,7 +55,7 @@ std::optional CArgumentParser::getInt(const char* name) { return std::nullopt; } -std::optional CArgumentParser::getFloat(const char* name) { +std::optional CArgumentParser::getFloat(const std::string_view& name) { auto ref = m_impl->getValue(name); if (ref == m_impl->m_values.end()) @@ -67,7 +67,7 @@ std::optional CArgumentParser::getFloat(const char* name) { return std::nullopt; } -std::optional CArgumentParser::getString(const char* name) { +std::optional CArgumentParser::getString(const std::string_view& name) { auto ref = m_impl->getValue(name); if (ref == m_impl->m_values.end()) @@ -99,14 +99,14 @@ std::vector::iterator CArgumentParserImpl::getValue(const std::str return it; } -std::expected CArgumentParserImpl::registerOption(std::string&& name, std::string&& abbrev, std::string&& description, eArgumentType type) { +std::expected CArgumentParserImpl::registerOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description, eArgumentType type) { if (getValue(name) != m_values.end() || getValue(abbrev) != m_values.end()) return std::unexpected("Value already exists"); m_values.emplace_back(SArgumentKey{ - .full = std::move(name), - .abbrev = std::move(abbrev), - .desc = std::move(description), + .full = std::string{name}, + .abbrev = std::string{abbrev}, + .desc = std::string{description}, .argType = type, .val = std::monostate{}, }); diff --git a/src/cli/ArgumentParser.hpp b/src/cli/ArgumentParser.hpp index 97b3ecb..2a84087 100644 --- a/src/cli/ArgumentParser.hpp +++ b/src/cli/ArgumentParser.hpp @@ -30,7 +30,7 @@ namespace Hyprutils::CLI { std::string getDescription(const std::string_view& header, std::optional maxWidth = {}); std::expected parse(); std::vector::iterator getValue(const std::string_view& sv); - std::expected registerOption(std::string&& name, std::string&& abbrev, std::string&& description, eArgumentType type); + std::expected registerOption(const std::string_view& name, const std::string_view& abbrev, const std::string_view& description, eArgumentType type); std::vector m_values;