diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 544d56c..c728d20 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -183,3 +183,9 @@ add_executable(test_multiple_translation_unit test_multiple_translation_unit_1.cpp test_multiple_translation_unit_2.cpp) target_link_libraries(test_multiple_translation_unit toml11::toml11) + +if(WIN32) + add_executable(test_windows test_windows.cpp) + target_link_libraries(test_windows toml11::toml11) +endif() + diff --git a/tests/test_windows.cpp b/tests/test_windows.cpp new file mode 100644 index 0000000..158c115 --- /dev/null +++ b/tests/test_windows.cpp @@ -0,0 +1,12 @@ +#include +#include +#include + +int main() +{ + using namespace toml::literals::toml_literals; + const auto data = u8R"(windows = "defines min and max as a macro")"_toml; + + std::cout << toml::find(data, "windows") << std::endl; + return 0; +} diff --git a/toml/region.hpp b/toml/region.hpp index 68defa5..c87547a 100644 --- a/toml/region.hpp +++ b/toml/region.hpp @@ -498,7 +498,7 @@ inline std::string format_underline(const std::string& message, { // invalid // ~~~~~~~ - const auto underline_len = std::min(reg->size(), reg->line().size()); + const auto underline_len = (std::min)(reg->size(), reg->line().size()); retval << color::bold << color::red << make_string(underline_len, '~') << color::reset; } diff --git a/toml/serializer.hpp b/toml/serializer.hpp index c733582..67f45d8 100644 --- a/toml/serializer.hpp +++ b/toml/serializer.hpp @@ -555,7 +555,7 @@ struct serializer for(const auto& item : v) { if(is_first) {is_first = false;} else {token += ',';} - token += visit(serializer(std::numeric_limits::max(), + token += visit(serializer((std::numeric_limits::max)(), this->float_prec_, true), item); } token += ']'; @@ -575,7 +575,7 @@ struct serializer if(is_first) {is_first = false;} else {token += ',';} token += format_key(kv.first); token += '='; - token += visit(serializer(std::numeric_limits::max(), + token += visit(serializer((std::numeric_limits::max)(), this->float_prec_, true), kv.second); } token += '}';