Protect against MSVC min and max macros

This commit is contained in:
Glen Fernandes
2022-04-16 11:14:41 -04:00
parent f92940bfab
commit 5d6fefdd2a

View File

@ -350,10 +350,10 @@ integer_to_string(
} }
if (value < 0) if (value < 0)
{ {
const bool is_min = value == std::numeric_limits<Integer>::min(); const bool is_min = value == (std::numeric_limits<Integer>::min)();
// negation of a min value cannot be represented // negation of a min value cannot be represented
if (is_min) if (is_min)
value = std::numeric_limits<Integer>::max(); value = (std::numeric_limits<Integer>::max)();
else else
value = -value; value = -value;
const auto last_char = str_end - 1; const auto last_char = str_end - 1;
@ -405,10 +405,10 @@ integer_to_wstring(
} }
if (value < 0) if (value < 0)
{ {
const bool is_min = value == std::numeric_limits<Integer>::min(); const bool is_min = value == (std::numeric_limits<Integer>::min)();
// negation of a min value cannot be represented // negation of a min value cannot be represented
if (is_min) if (is_min)
value = std::numeric_limits<Integer>::max(); value = (std::numeric_limits<Integer>::max)();
else else
value = -value; value = -value;
const auto last_char = str_end - 1; const auto last_char = str_end - 1;