Skip to content

Commit 3aef1a5

Browse files
committed
Change the definition of the operator override of reverse iterator to using the result of the base class directly
1 parent a3bf013 commit 3aef1a5

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

src/json.hpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8626,7 +8626,7 @@ class basic_json
86268626
using reference = typename Base::reference;
86278627

86288628
/// create reverse iterator from iterator
8629-
json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
8629+
json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
86308630
: base_iterator(it)
86318631
{}
86328632

@@ -8671,29 +8671,25 @@ class basic_json
86718671
/// add to iterator
86728672
json_reverse_iterator operator+(difference_type i) const
86738673
{
8674-
auto result = *this;
8675-
result -= i;
8676-
return result;
8674+
return json_reverse_iterator(base_iterator::operator+(i));
86778675
}
86788676

86798677
/// subtract from iterator
86808678
json_reverse_iterator operator-(difference_type i) const
86818679
{
8682-
auto result = *this;
8683-
result += i;
8684-
return result;
8680+
return json_reverse_iterator(base_iterator::operator-(i));
86858681
}
86868682

86878683
/// return difference
86888684
difference_type operator-(const json_reverse_iterator& other) const
86898685
{
8690-
return other.base() - this->base();
8686+
return base_iterator(*this) - base_iterator(other);
86918687
}
86928688

86938689
/// access to successor
86948690
reference operator[](difference_type n) const
86958691
{
8696-
return *(this->operator+(n));
8692+
return base_iterator::operator[](n);
86978693
}
86988694

86998695
/// return the key of an object iterator

0 commit comments

Comments
 (0)