У нас есть библиотека алгоритмов, выполняющая множество операций std::min/std::max для чисел, которые могут быть NaN. Учитывая этот пост: Почему выпуск /Debug имеет другой результат для std:: min?, мы поняли, что это явно небезопасно.
Есть ли способ запретить разработчикам использовать std::min/std::max?
Наш код скомпилирован как с VS2015, так и с g++. У нас есть общий заголовочный файл, содержащий все исходные файлы (через /FI для VS2015 и -include для g++). Есть ли какой-либо фрагмент кода/прагмы, который может быть помещен сюда, чтобы сделать какой-либо файл cpp с помощью std::min или std::max не скомпилирован?
Кстати, устаревший код, такой как заголовки STL, использующие эту функцию, не должен подвергаться воздействию. Только код, который мы пишем, должен быть затронут.