From b5ae6c87de0fa30f295b497b146f87d12e6ee4f9 Mon Sep 17 00:00:00 2001 From: redstrate <54911369+redstrate@users.noreply.github.com> Date: Tue, 22 Sep 2020 23:13:08 -0400 Subject: [PATCH] Move is_numeric to string utils --- engine/core/src/console.cpp | 8 +------- engine/utility/include/string_utils.hpp | 1 + engine/utility/src/string_utils.cpp | 4 ++++ 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/engine/core/src/console.cpp b/engine/core/src/console.cpp index 4e397c4..7b5af34 100644 --- a/engine/core/src/console.cpp +++ b/engine/core/src/console.cpp @@ -75,12 +75,6 @@ void console::invoke_command(const std::string_view name, const Arguments argume console::info(System::Core, "{} is not the name of a valid command or variable!", name.data()); } -bool is_number(const std::string_view& s) -{ - return !s.empty() && std::find_if(s.begin(), - s.end(), [](unsigned char c) { return !std::isdigit(c); }) == s.end(); -} - void console::parse_and_invoke_command(const std::string_view command) { const auto tokens = tokenize(command, " "); if(tokens.empty()) @@ -91,7 +85,7 @@ void console::parse_and_invoke_command(const std::string_view command) { return ConsoleArgument(true); } else if(arg == "false") { return ConsoleArgument(false); - } else if(is_number(arg)) { + } else if(is_numeric(arg)) { return ConsoleArgument(std::stoi(arg.data())); } diff --git a/engine/utility/include/string_utils.hpp b/engine/utility/include/string_utils.hpp index 2063dd9..0a9bd2c 100755 --- a/engine/utility/include/string_utils.hpp +++ b/engine/utility/include/string_utils.hpp @@ -9,6 +9,7 @@ std::string replace_substring(const std::string_view string, const std::string_v bool string_contains(const std::string_view a, const std::string_view b); bool string_starts_with(const std::string_view haystack, const std::string_view needle); +bool is_numeric(const std::string_view string); std::vector tokenize(const std::string_view string, const std::string_view& delimiters = ","); diff --git a/engine/utility/src/string_utils.cpp b/engine/utility/src/string_utils.cpp index 391a676..10547a7 100644 --- a/engine/utility/src/string_utils.cpp +++ b/engine/utility/src/string_utils.cpp @@ -33,6 +33,10 @@ bool string_starts_with(const std::string_view haystack, const std::string_view && std::equal(needle.begin(), needle.end(), haystack.begin()); } +bool is_numeric(const std::string_view string) { + return std::find_if(string.begin(), string.end(), [](unsigned char c) { return !std::isdigit(c); }) == string.end(); +} + std::vector tokenize(const std::string_view string, const std::string_view& delimiters) { std::vector tokens;