mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-06 04:31:08 +00:00
[ADT] Attempt to appease another MSVC oddity by moving the injected
class name usage into a context we can put typename on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207084 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e703fcb975
commit
3c1f8e0054
@ -104,6 +104,8 @@ class iterator_adaptor_base
|
|||||||
: public iterator_facade_base<
|
: public iterator_facade_base<
|
||||||
DerivedT, typename WrappedTraitsT::iterator_category, T,
|
DerivedT, typename WrappedTraitsT::iterator_category, T,
|
||||||
typename WrappedTraitsT::difference_type, PointerT, ReferenceT> {
|
typename WrappedTraitsT::difference_type, PointerT, ReferenceT> {
|
||||||
|
typedef typename iterator_adaptor_base::iterator_facade_base BaseT;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
WrappedIteratorT I;
|
WrappedIteratorT I;
|
||||||
|
|
||||||
@ -130,17 +132,17 @@ public:
|
|||||||
I -= n;
|
I -= n;
|
||||||
return *static_cast<DerivedT *>(this);
|
return *static_cast<DerivedT *>(this);
|
||||||
}
|
}
|
||||||
using iterator_adaptor_base::iterator_facade_base::operator-;
|
using BaseT::operator-;
|
||||||
difference_type operator-(const DerivedT &RHS) const { return I - RHS.I; }
|
difference_type operator-(const DerivedT &RHS) const { return I - RHS.I; }
|
||||||
|
|
||||||
// We have to explicitly provide ++ and -- rather than letting the facade
|
// We have to explicitly provide ++ and -- rather than letting the facade
|
||||||
// forward to += because WrappedIteratorT might not support +=.
|
// forward to += because WrappedIteratorT might not support +=.
|
||||||
using iterator_adaptor_base::iterator_facade_base::operator++;
|
using BaseT::operator++;
|
||||||
DerivedT &operator++() {
|
DerivedT &operator++() {
|
||||||
++I;
|
++I;
|
||||||
return *static_cast<DerivedT *>(this);
|
return *static_cast<DerivedT *>(this);
|
||||||
}
|
}
|
||||||
using iterator_adaptor_base::iterator_facade_base::operator--;
|
using BaseT::operator--;
|
||||||
DerivedT &operator--() {
|
DerivedT &operator--() {
|
||||||
--I;
|
--I;
|
||||||
return *static_cast<DerivedT *>(this);
|
return *static_cast<DerivedT *>(this);
|
||||||
|
Loading…
Reference in New Issue
Block a user