From 44b613a986253cdde28283497731a7b909b520bc Mon Sep 17 00:00:00 2001 From: Alan Zhao Date: Thu, 19 May 2022 14:54:48 -0400 Subject: [PATCH] Remove usages of std::iterator std::iterator is deprecated in C++17, and its presence is blocking Chromium from updating libc++ (https://crbug.com/1273285). Components: Framework VK-GL-CTS Issue: 3703 Change-Id: I4f8a50a3d0fc09b20c7f94807902770beb09d295 --- framework/common/tcuRandomValueIterator.hpp | 8 +++++++- framework/opengl/gluVarTypeUtil.hpp | 8 +++++++- framework/randomshaders/rsgVariableManager.hpp | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/framework/common/tcuRandomValueIterator.hpp b/framework/common/tcuRandomValueIterator.hpp index 834b8bf..4084917 100644 --- a/framework/common/tcuRandomValueIterator.hpp +++ b/framework/common/tcuRandomValueIterator.hpp @@ -55,9 +55,15 @@ template <> inline deInt32 getRandomValue (de::Random& rnd) { return ( template <> inline deInt64 getRandomValue (de::Random& rnd) { return (deInt64)rnd.getUint64(); } template -class RandomValueIterator : public std::iterator +class RandomValueIterator { public: + using iterator_category = std::forward_iterator_tag; + using value_type = T; + using difference_type = std::ptrdiff_t; + using pointer = T*; + using reference = T&; + static RandomValueIterator begin (deUint32 seed, int numValues) { return RandomValueIterator(seed, numValues); } static RandomValueIterator end (void) { return RandomValueIterator(0, 0); } diff --git a/framework/opengl/gluVarTypeUtil.hpp b/framework/opengl/gluVarTypeUtil.hpp index e969524..ee9b70c 100644 --- a/framework/opengl/gluVarTypeUtil.hpp +++ b/framework/opengl/gluVarTypeUtil.hpp @@ -157,9 +157,15 @@ private: // \note VarType must be live during iterator usage. template -class SubTypeIterator : public std::iterator +class SubTypeIterator { public: + using iterator_category = std::forward_iterator_tag; + using value_type = VarType; + using difference_type = std::ptrdiff_t; + using pointer = VarType*; + using reference = VarType&; + static SubTypeIterator begin (const VarType* type) { return SubTypeIterator(type); } static SubTypeIterator end (const VarType* type) { DE_UNREF(type); return SubTypeIterator(DE_NULL); } diff --git a/framework/randomshaders/rsgVariableManager.hpp b/framework/randomshaders/rsgVariableManager.hpp index 208cdb4..d61087f 100644 --- a/framework/randomshaders/rsgVariableManager.hpp +++ b/framework/randomshaders/rsgVariableManager.hpp @@ -116,9 +116,15 @@ public: // \todo [2011-05-26 pyry] Clean up this a bit, separate const variant. template -class FilteredIterator : public std::iterator +class FilteredIterator { public: + using iterator_category = std::input_iterator_tag; + using value_type = Item; + using difference_type = std::ptrdiff_t; + using pointer = Item*; + using reference = Item&; + FilteredIterator (Iterator iter, Iterator end, Filter filter) : m_iter (iter) , m_end (end) -- 2.7.4