diff options
-rw-r--r-- | clang/include/clang/AST/CanonicalType.h | 12 | ||||
-rw-r--r-- | clang/include/clang/AST/DeclTemplate.h | 11 |
2 files changed, 9 insertions, 14 deletions
diff --git a/clang/include/clang/AST/CanonicalType.h b/clang/include/clang/AST/CanonicalType.h index d73daaab7ab..43dd942a186 100644 --- a/clang/include/clang/AST/CanonicalType.h +++ b/clang/include/clang/AST/CanonicalType.h @@ -382,20 +382,18 @@ namespace clang { /// \brief Iterator adaptor that turns an iterator over canonical QualTypes /// into an iterator over CanQualTypes. template <typename InputIterator> -class CanTypeIterator - : public llvm::iterator_adaptor_base< +struct CanTypeIterator + : llvm::iterator_adaptor_base< CanTypeIterator<InputIterator>, InputIterator, typename std::iterator_traits<InputIterator>::iterator_category, CanQualType, typename std::iterator_traits<InputIterator>::difference_type, CanProxy<Type>, CanQualType> { - typedef typename CanTypeIterator::iterator_adaptor_base BaseT; - -public: CanTypeIterator() {} - explicit CanTypeIterator(InputIterator Iter) : BaseT(std::move(Iter)) {} + explicit CanTypeIterator(InputIterator Iter) + : CanTypeIterator::iterator_adaptor_base(std::move(Iter)) {} - CanQualType operator*() const { return CanQualType::CreateUnsafe(*BaseT::I); } + CanQualType operator*() const { return CanQualType::CreateUnsafe(*this->I); } CanProxy<Type> operator->() const; }; diff --git a/clang/include/clang/AST/DeclTemplate.h b/clang/include/clang/AST/DeclTemplate.h index 2c1d8f42b1b..da370ae1851 100644 --- a/clang/include/clang/AST/DeclTemplate.h +++ b/clang/include/clang/AST/DeclTemplate.h @@ -552,23 +552,20 @@ protected: template <typename EntryType, typename SETraits = SpecEntryTraits<EntryType>, typename DeclType = typename SETraits::DeclType> - class SpecIterator - : public llvm::iterator_adaptor_base< + struct SpecIterator + : llvm::iterator_adaptor_base< SpecIterator<EntryType, SETraits, DeclType>, typename llvm::FoldingSetVector<EntryType>::iterator, typename std::iterator_traits<typename llvm::FoldingSetVector< EntryType>::iterator>::iterator_category, DeclType *, ptrdiff_t, DeclType *, DeclType *> { - typedef typename SpecIterator::iterator_adaptor_base BaseT; - - public: SpecIterator() {} explicit SpecIterator( typename llvm::FoldingSetVector<EntryType>::iterator SetIter) - : BaseT(std::move(SetIter)) {} + : SpecIterator::iterator_adaptor_base(std::move(SetIter)) {} DeclType *operator*() const { - return SETraits::getMostRecentDecl(&*BaseT::I); + return SETraits::getMostRecentDecl(&*this->I); } DeclType *operator->() const { return **this; } }; |