Commit 3aef1a58 authored by HenryLee's avatar HenryLee

Change the definition of the operator override of reverse iterator to using...

Change the definition of the operator override of reverse iterator to using the result of the base class directly
parent a3bf0131
...@@ -8626,7 +8626,7 @@ class basic_json ...@@ -8626,7 +8626,7 @@ class basic_json
using reference = typename Base::reference; using reference = typename Base::reference;
/// create reverse iterator from iterator /// 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) : base_iterator(it)
{} {}
...@@ -8671,29 +8671,25 @@ class basic_json ...@@ -8671,29 +8671,25 @@ class basic_json
/// add to iterator /// add to iterator
json_reverse_iterator operator+(difference_type i) const json_reverse_iterator operator+(difference_type i) const
{ {
auto result = *this; return json_reverse_iterator(base_iterator::operator+(i));
result -= i;
return result;
} }
/// subtract from iterator /// subtract from iterator
json_reverse_iterator operator-(difference_type i) const json_reverse_iterator operator-(difference_type i) const
{ {
auto result = *this; return json_reverse_iterator(base_iterator::operator-(i));
result += i;
return result;
} }
/// return difference /// return difference
difference_type operator-(const json_reverse_iterator& other) const difference_type operator-(const json_reverse_iterator& other) const
{ {
return other.base() - this->base(); return base_iterator(*this) - base_iterator(other);
} }
/// access to successor /// access to successor
reference operator[](difference_type n) const reference operator[](difference_type n) const
{ {
return *(this->operator+(n)); return base_iterator::operator[](n);
} }
/// return the key of an object iterator /// return the key of an object iterator
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment