From 2a957fb6276258f2958f944e3af1d9e7a1aab231 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 13 Jun 2022 20:34:35 +0200 Subject: [PATCH] Updated to newest IDF with new GCC --- src/numberparsing.h | 16 ++++++++++++++++ src/refwhenneeded.h | 9 +++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/numberparsing.h b/src/numberparsing.h index f18e582..256e4b3 100644 --- a/src/numberparsing.h +++ b/src/numberparsing.h @@ -61,6 +61,22 @@ template<> inline tl::expected fromString(std:: return val; } +template<> inline tl::expected fromString(std::string_view str) +{ + int val; + if (std::sscanf(str.data(), "%" SCNi32, &val) != 1) + return tl::make_unexpected(fmt::format("invalid int {}", str)); + return val; +} + +template<> inline tl::expected fromString(std::string_view str) +{ + unsigned int val; + if (std::sscanf(str.data(), "%" SCNu32, &val) != 1) + return tl::make_unexpected(fmt::format("invalid unsigned int {}", str)); + return val; +} + template<> inline tl::expected fromString(std::string_view str) { int64_t val; diff --git a/src/refwhenneeded.h b/src/refwhenneeded.h index 77b06fc..049ed8f 100644 --- a/src/refwhenneeded.h +++ b/src/refwhenneeded.h @@ -2,6 +2,7 @@ // system includes #include +#include namespace cpputils { template struct RefWhenNeeded { using T = const X &; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; @@ -12,10 +13,10 @@ template<> struct RefWhenNeeded { using T = int16_ template<> struct RefWhenNeeded { using T = uint16_t; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = int32_t; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = uint32_t; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; +template<> struct RefWhenNeeded { using T = int; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; +template<> struct RefWhenNeeded { using T = unsigned int; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = int64_t; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = uint64_t; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; -template<> struct RefWhenNeeded { using T = long; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; -template<> struct RefWhenNeeded { using T = unsigned long; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = float; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded { using T = double; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; @@ -25,10 +26,10 @@ template<> struct RefWhenNeeded> { using T = std::o template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; +template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; +template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; -template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; -template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; }; template<> struct RefWhenNeeded> { using T = std::optional; RefWhenNeeded() = delete; ~RefWhenNeeded() = delete; };