diff --git a/peglib.h b/peglib.h index a04dfad..6aee99f 100644 --- a/peglib.h +++ b/peglib.h @@ -13,9 +13,6 @@ #include #if __has_include() #include -#define CPPPEGLIB_HAS_CHARCONV true -#else -#define CPPPEGLIB_HAS_CHARCONV false #endif #include #include @@ -343,7 +340,12 @@ inline std::string resolve_escape_sequence(const char *s, size_t n) { template T token_to_number_(std::string_view sv) { T n = 0; - if constexpr (CPPPEGLIB_HAS_CHARCONV && !std::is_floating_point::value) { +#if __has_include() + if constexpr (!std::is_floating_point::value) { + std::from_chars(sv.data(), sv.data() + sv.size(), n); +#else + if constexpr (false) { +#endif std::from_chars(sv.data(), sv.data() + sv.size(), n); } else { auto s = std::string(sv);