I have tested locally and simply enclosing the calls to std::numeric_limits::min/max in parenthesis completely fixes the issues, while changing no functionality on the library, and improves its compatibility with code that includes WinDef.h (which is automatically included with Windows.h).
This discussion goes over the issue: https://stackoverflow.com/questions/27442885/syntax-error-with-stdnumeric-limitsmax
I have tested locally and simply enclosing the calls to std::numeric_limits::min/max in parenthesis completely fixes the issues, while changing no functionality on the library, and improves its compatibility with code that includes WinDef.h (which is automatically included with Windows.h).
Example of it on SafeInt.hpp:2536:
From this:
To this: