Bug 1645429 - Do not use ReverseIterator in nsTObserverArray::NonObservingRange. r=froydnj

Depends on D79957

Differential Revision: https://phabricator.services.mozilla.com/D79958
This commit is contained in:
Simon Giesecke 2020-06-17 13:29:02 +00:00
parent 901af53e36
commit 9cf654a99f
2 changed files with 7 additions and 5 deletions

View File

@ -134,13 +134,14 @@ bool operator>=(const ReverseIterator<Iterator1>& aIter1,
namespace detail {
template <typename IteratorT>
template <typename IteratorT,
typename ReverseIteratorT = ReverseIterator<IteratorT>>
class IteratorRange {
public:
typedef IteratorT iterator;
typedef IteratorT const_iterator;
typedef ReverseIterator<IteratorT> reverse_iterator;
typedef ReverseIterator<IteratorT> const_reverse_iterator;
typedef ReverseIteratorT reverse_iterator;
typedef ReverseIteratorT const_reverse_iterator;
template <typename Iterator1, typename Iterator2>
MOZ_IMPLICIT IteratorRange(Iterator1 aIterBegin, Iterator2 aIterEnd)

View File

@ -510,8 +510,9 @@ class nsAutoTObserverArray : protected nsTObserverArray_base {
// modified during iteration.
auto NonObservingRange() const {
return mozilla::detail::IteratorRange<
typename AutoTArray<T, N>::const_iterator>{mArray.cbegin(),
mArray.cend()};
typename AutoTArray<T, N>::const_iterator,
typename AutoTArray<T, N>::const_reverse_iterator>{mArray.cbegin(),
mArray.cend()};
}
protected: