diff --git a/include/wx/vector.h b/include/wx/vector.h index 113157875c..25067081b4 100644 --- a/include/wx/vector.h +++ b/include/wx/vector.h @@ -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; diff --git a/tests/vectors/vectors.cpp b/tests/vectors/vectors.cpp index e3f6734c14..bf0fffa752 100644 --- a/tests/vectors/vectors.cpp +++ b/tests/vectors/vectors.cpp @@ -365,6 +365,13 @@ TEST_CASE("wxVector::reverse_iterator", "[vector][reverse_iterator]") CHECK( ri - rb == 2 ); CHECK( re - ri == 8 ); + CHECK( rb < ri ); + CHECK( rb <= ri ); + CHECK( ri <= ri ); + CHECK( ri >= ri ); + CHECK( ri < re ); + CHECK( ri <= re ); + #if wxUSE_STD_CONTAINERS_COMPATIBLY std::vector stdvec(rb, re); REQUIRE( stdvec.size() == 10 );