From bb1e80ad52378f0b9e6f07b6067aa9acc8a80733 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Tue, 28 Jul 2020 18:58:25 +0200 Subject: Replace custom remove_cvref_t with std::remove_cvref_t --- cxxformat.hpp | 18 ++++++------------ main.cpp | 4 ++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/cxxformat.hpp b/cxxformat.hpp index 46d18b4..4598327 100644 --- a/cxxformat.hpp +++ b/cxxformat.hpp @@ -92,12 +92,6 @@ struct AutoConversion : SimpleAutoConversion<'c', const char> {}; namespace detail { - template - struct remove_cvref { using type = std::remove_cv_t>; }; - - template - using remove_cvref_t = typename remove_cvref::type; - template struct StointHelper { @@ -165,11 +159,11 @@ namespace detail }; template - struct FormatConvertHelper && std::is_same_v>::convert(std::declval()))>, remove_cvref_t>>> + struct FormatConvertHelper && std::is_same_v>::convert(std::declval()))>, std::remove_cvref_t>>> { static constexpr To convert(const From &from) { - return FormatConvert>::convert(from); + return FormatConvert>::convert(from); } }; @@ -208,7 +202,7 @@ namespace detail { if constexpr (!allowFallback) { - if constexpr(!std::is_same_v>::conversion())>) + if constexpr(!std::is_same_v>::conversion())>) { if constexpr (std::is_pointer_v) { @@ -224,7 +218,7 @@ namespace detail } } } - return AutoConversion>::conversion(); + return AutoConversion>::conversion(); } catch (const FormatException &) { @@ -363,7 +357,7 @@ namespace detail case 's': { - const auto& string = convert>>(std::forward(arg), "string", argumentIndex); + const auto& string = convert>>(std::forward(arg), "string", argumentIndex); precision = precision ? std::min(*precision, string.size()) : string.size(); return continueFormatting(false, string.data()); } @@ -643,7 +637,7 @@ namespace detail else if constexpr (conversion == 'p') return substr<0, i>(fmt).s + strprintf(makeDirective().s, convert(std::forward(arg), "pointer", argumentIndex)) + format_s(fmt), 0, argumentIndex + 1>(std::forward(args)...); else if constexpr (conversion == 's') { - const auto& string = convert>, false>(std::forward(arg), "string", argumentIndex); + const auto& string = convert>, false>(std::forward(arg), "string", argumentIndex); return substr<0, i>(fmt).s + strprintf("%.*s", determineStringPrecision(string), string.data()) + format_s(fmt), 0, argumentIndex + 1>(std::forward(args)...); } else diff --git a/main.cpp b/main.cpp index 62c55de..2431b73 100644 --- a/main.cpp +++ b/main.cpp @@ -4,7 +4,7 @@ #include template -struct format::FormatConvert, char>>> +struct format::FormatConvert, char>>> { template static std::string accessConvert(const T *from) @@ -38,7 +38,7 @@ template struct format::AutoConversion> : format::SimpleAutoConversion<'s', const std::array &> {}; template -struct format::AutoConversion, char>>> : format::SimpleAutoConversion<'s', const T(&)[N]> {}; +struct format::AutoConversion, char>>> : format::SimpleAutoConversion<'s', const T(&)[N]> {}; int main(int, char *[]) { -- cgit v1.2.3-54-g00ecf