From 1e8ed5092d251ae91392e52db58703b89e5514a4 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 11 Nov 2020 12:40:19 +0200 Subject: [PATCH] Clang: Do not derive deprecated std::iterator Reported by MSVC. Change-Id: If89d1c41c7b52e48d01d0d4251c85de4785c73ec Reviewed-by: Christian Kandeler --- src/tools/clangbackend/source/diagnosticsetiterator.h | 8 +++++++- src/tools/clangbackend/source/tokenprocessoriterator.h | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/tools/clangbackend/source/diagnosticsetiterator.h b/src/tools/clangbackend/source/diagnosticsetiterator.h index 72a98319550..0369e91999d 100644 --- a/src/tools/clangbackend/source/diagnosticsetiterator.h +++ b/src/tools/clangbackend/source/diagnosticsetiterator.h @@ -37,9 +37,15 @@ using uint = unsigned int; class DiagnosticSet; -class DiagnosticSetIterator : public std::iterator +class DiagnosticSetIterator { public: + using iterator_category = std::random_access_iterator_tag; + using value_type = Diagnostic; + using difference_type = uint; + using pointer = Diagnostic *; + using reference = Diagnostic &; + DiagnosticSetIterator(CXTranslationUnit translationUnit, CXDiagnosticSet cxDiagnosticSet, uint index) diff --git a/src/tools/clangbackend/source/tokenprocessoriterator.h b/src/tools/clangbackend/source/tokenprocessoriterator.h index 38edac85327..08bdbc1546f 100644 --- a/src/tools/clangbackend/source/tokenprocessoriterator.h +++ b/src/tools/clangbackend/source/tokenprocessoriterator.h @@ -38,9 +38,15 @@ class DiagnosticSet; class Diagnostic; template -class TokenProcessorIterator : public std::iterator +class TokenProcessorIterator { public: + using iterator_category = std::forward_iterator_tag; + using value_type = TokenInfo; + using difference_type = int; + using pointer = TokenInfo *; + using reference = TokenInfo &; + TokenProcessorIterator(std::vector::const_iterator cursorIterator, std::vector::const_iterator tokenIterator, std::vector ¤tOutputArgumentRanges)