Commit 3aef1a58 by HenryLee

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

Change the definition of the operator override of reverse iterator to using the result of the base class directly
parent a3bf0131
...@@ -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