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)