Please allow MFC headers to compile after defining type safe alternatives for the min()- and max() macros.
In the past, we had to fix subtle bugs in our code caused by inappropriate use of the min() and max() macros. These cause an automatic type conversion by the compiler, which may not lead to the desired results (e.g. when comparing signed/unsigned values or values of different size). Even worse, one of the argument to min() or max() may be evaluated twice, inadvertently.
Therefore we added code to the beginning of every project for mapping the default min() and max() macros to the definitions in std::min() and std::max(). This forces all calls to min() and max() to be type safe; i.e. the programmer must decide which types the compared values should have and perform an explicit type cast.
These type safe definitions to not compile for (very) few source code locations.