[VTK 9.0] warning STL4015: The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17
Compiling an example (say https://lorensen.github.io/VTKExamples/site/Cxx/Interaction/Picking/) with Visual Studio 2019 and C++17 outputs the warning:
vtk-9.0\vtkDataArrayTupleRange_Generic.h(385,27): error C4996: 'std::iterator<std::random_access_iterator_tag,detail::GetAPITypeImpl::APIType,vtk::ComponentIdType,void,vtk::detail::ConstComponentReference<ArrayType,TupleSize>>': warning STL4015: The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. (The header is NOT deprecated.) The C++ Standard has never required user-defined iterators to derive from std::iterator. To fix this warning, stop deriving from std::iterator and start providing publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators. You can define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.