From 492005ce9c150b599e0e163c839c91575cae9a38 Mon Sep 17 00:00:00 2001
From: Ben Boeckel <ben.boeckel@kitware.com>
Date: Sun, 2 Feb 2025 21:18:02 +0100
Subject: [PATCH] vtkXMLReader: deprecate `Min` and `Max` methods

---
 .../release/dev/custom-min-max-impls.md          |  2 ++
 IO/XML/vtkXMLReader.cxx                          | 16 ++++++++--------
 IO/XML/vtkXMLReader.h                            |  3 +++
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/Documentation/release/dev/custom-min-max-impls.md b/Documentation/release/dev/custom-min-max-impls.md
index 11c1e2882e8..20bf0ebaf85 100644
--- a/Documentation/release/dev/custom-min-max-impls.md
+++ b/Documentation/release/dev/custom-min-max-impls.md
@@ -2,3 +2,5 @@
 
 * `vtkExtentSplitter::Min` and `::Max` have been deprecated in favor of
   `std::min` and `std::max`.
+* `vtkXMLReader::Min` and `::Max` have been deprecated in favor of `std::min`
+  and `std::max`.
diff --git a/IO/XML/vtkXMLReader.cxx b/IO/XML/vtkXMLReader.cxx
index 613c0480c02..36c160b0d42 100644
--- a/IO/XML/vtkXMLReader.cxx
+++ b/IO/XML/vtkXMLReader.cxx
@@ -1621,12 +1621,12 @@ int vtkXMLReader::IntersectExtents(int* extent1, int* extent2, int* result)
   }
 
   // Get the intersection of the extents.
-  result[0] = this->Max(extent1[0], extent2[0]);
-  result[1] = this->Min(extent1[1], extent2[1]);
-  result[2] = this->Max(extent1[2], extent2[2]);
-  result[3] = this->Min(extent1[3], extent2[3]);
-  result[4] = this->Max(extent1[4], extent2[4]);
-  result[5] = this->Min(extent1[5], extent2[5]);
+  result[0] = std::max(extent1[0], extent2[0]);
+  result[1] = std::min(extent1[1], extent2[1]);
+  result[2] = std::max(extent1[2], extent2[2]);
+  result[3] = std::min(extent1[3], extent2[3]);
+  result[4] = std::max(extent1[4], extent2[4]);
+  result[5] = std::min(extent1[5], extent2[5]);
 
   return 1;
 }
@@ -1634,13 +1634,13 @@ int vtkXMLReader::IntersectExtents(int* extent1, int* extent2, int* result)
 //------------------------------------------------------------------------------
 int vtkXMLReader::Min(int a, int b)
 {
-  return (a < b) ? a : b;
+  return std::min(a, b);
 }
 
 //------------------------------------------------------------------------------
 int vtkXMLReader::Max(int a, int b)
 {
-  return (a > b) ? a : b;
+  return std::max(a, b);
 }
 
 //------------------------------------------------------------------------------
diff --git a/IO/XML/vtkXMLReader.h b/IO/XML/vtkXMLReader.h
index bc0a2f7e834..8940400a8dc 100644
--- a/IO/XML/vtkXMLReader.h
+++ b/IO/XML/vtkXMLReader.h
@@ -13,6 +13,7 @@
 #define vtkXMLReader_h
 
 #include "vtkAlgorithm.h"
+#include "vtkDeprecation.h"  // For VTK_DEPRECATED_IN_9_5_0
 #include "vtkIOXMLModule.h"  // For export macro
 #include "vtkSmartPointer.h" // for vtkSmartPointer.
 
@@ -330,7 +331,9 @@ protected:
    * Utility methods for subclasses.
    */
   int IntersectExtents(int* extent1, int* extent2, int* result);
+  VTK_DEPRECATED_IN_9_5_0("Use std::min instead")
   int Min(int a, int b);
+  VTK_DEPRECATED_IN_9_5_0("Use std::max instead")
   int Max(int a, int b);
   void ComputePointDimensions(int* extent, int* dimensions);
   void ComputePointIncrements(int* extent, vtkIdType* increments);
-- 
GitLab