From bf97701fd8de2c7d22fb5c03f32861ea32892a0c Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Mon, 24 Jun 2024 10:27:47 +0200 Subject: [PATCH] QJniArray: use comparison macros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implement comparesEqual, declare the type as QUALITY_COMPARABLE. Task-number: QTBUG-126150 Change-Id: I5a2371a850525dbf2e29fefa1a6cf85bb9b59cff Reviewed-by: Soheil Armin Reviewed-by: Tor Arne Vestbø (cherry picked from commit b5ec0f7a4663f201167e856e5534d7fee5314e8b) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/kernel/qjniarray.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/corelib/kernel/qjniarray.h b/src/corelib/kernel/qjniarray.h index c20db77f95f..41929c8e5fb 100644 --- a/src/corelib/kernel/qjniarray.h +++ b/src/corelib/kernel/qjniarray.h @@ -39,14 +39,6 @@ struct QJniArrayIterator using const_reference = reference; using iterator_category = std::bidirectional_iterator_tag; - friend bool operator==(const QJniArrayIterator &lhs, const QJniArrayIterator &rhs) noexcept - { - return lhs.m_array == rhs.m_array && lhs.m_index == rhs.m_index; - } - friend bool operator!=(const QJniArrayIterator &lhs, const QJniArrayIterator &rhs) noexcept - { - return !(lhs == rhs); - } const_reference operator*() const { return m_array->at(m_index); @@ -80,6 +72,14 @@ struct QJniArrayIterator } private: + friend constexpr bool comparesEqual(const QJniArrayIterator &lhs, + const QJniArrayIterator &rhs) + { + Q_ASSERT(lhs.m_array == rhs.m_array); + return lhs.m_index == rhs.m_index; + } + Q_DECLARE_EQUALITY_COMPARABLE(QJniArrayIterator) + using VT = std::remove_const_t; friend class QJniArray;