Skip to content

Commit

Permalink
Change the definition of the operator override of reverse iterator to…
Browse files Browse the repository at this point in the history
… using the result of the base class directly
  • Loading branch information
HenryRLee committed May 29, 2017
1 parent a3bf013 commit 3aef1a5
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions src/json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8626,7 +8626,7 @@ class basic_json
using reference = typename Base::reference;

/// create reverse iterator from iterator
json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
: base_iterator(it)
{}

Expand Down Expand Up @@ -8671,29 +8671,25 @@ class basic_json
/// add to iterator
json_reverse_iterator operator+(difference_type i) const
{
auto result = *this;
result -= i;
return result;
return json_reverse_iterator(base_iterator::operator+(i));
}

/// subtract from iterator
json_reverse_iterator operator-(difference_type i) const
{
auto result = *this;
result += i;
return result;
return json_reverse_iterator(base_iterator::operator-(i));
}

/// return difference
difference_type operator-(const json_reverse_iterator& other) const
{
return other.base() - this->base();
return base_iterator(*this) - base_iterator(other);
}

/// access to successor
reference operator[](difference_type n) const
{
return *(this->operator+(n));
return base_iterator::operator[](n);
}

/// return the key of an object iterator
Expand Down

0 comments on commit 3aef1a5

Please sign in to comment.