Make wxVector::reverse_iterator satisfy RandomAccessIterator
RandomAccessIterator requirements include LessThanComparable, so implement the missing comparison operators for this class, as well as for const_reverse_iterator. This also fixes compilation problems with MSVS 2013 in debug mode, where the CRT uses these operators to check the iterators correctness. See https://github.com/wxWidgets/wxWidgets/pull/1048
This commit is contained in:
@@ -219,6 +219,14 @@ public:
|
||||
{ return m_ptr == it.m_ptr; }
|
||||
bool operator !=(const reverse_iterator& it) const
|
||||
{ return m_ptr != it.m_ptr; }
|
||||
bool operator<(const reverse_iterator& it) const
|
||||
{ return m_ptr > it.m_ptr; }
|
||||
bool operator>(const reverse_iterator& it) const
|
||||
{ return m_ptr < it.m_ptr; }
|
||||
bool operator<=(const reverse_iterator& it) const
|
||||
{ return m_ptr >= it.m_ptr; }
|
||||
bool operator>=(const reverse_iterator& it) const
|
||||
{ return m_ptr <= it.m_ptr; }
|
||||
|
||||
private:
|
||||
value_type *m_ptr;
|
||||
@@ -274,6 +282,14 @@ public:
|
||||
{ return m_ptr == it.m_ptr; }
|
||||
bool operator !=(const const_reverse_iterator& it) const
|
||||
{ return m_ptr != it.m_ptr; }
|
||||
bool operator<(const const_reverse_iterator& it) const
|
||||
{ return m_ptr > it.m_ptr; }
|
||||
bool operator>(const const_reverse_iterator& it) const
|
||||
{ return m_ptr < it.m_ptr; }
|
||||
bool operator<=(const const_reverse_iterator& it) const
|
||||
{ return m_ptr >= it.m_ptr; }
|
||||
bool operator>=(const const_reverse_iterator& it) const
|
||||
{ return m_ptr <= it.m_ptr; }
|
||||
|
||||
protected:
|
||||
const value_type *m_ptr;
|
||||
|
Reference in New Issue
Block a user