summaryrefslogtreecommitdiffstats
path: root/src/corelib/text
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2024-02-26 17:54:36 +0100
committerIvan Solovev <ivan.solovev@qt.io>2024-03-02 00:12:54 +0100
commit868a5342bb3af21bd9d078c420a43f4a57cb61a1 (patch)
tree36d058b271462928d9f4b2a44d65742499fcb3f3 /src/corelib/text
parent7068418a13c7149f81dade96000b99b1c37c0df8 (diff)
QUtf8StringView: use more comparison helper macros
Convert the last relational operators to using the macros. Task-number: QTBUG-117661 Change-Id: I5c4c890527d1a3c9500e98f47881d2e17b101ca9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/text')
-rw-r--r--src/corelib/text/qutf8stringview.h30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/corelib/text/qutf8stringview.h b/src/corelib/text/qutf8stringview.h
index cfbfb097c5..972473794e 100644
--- a/src/corelib/text/qutf8stringview.h
+++ b/src/corelib/text/qutf8stringview.h
@@ -314,28 +314,20 @@ private:
QBasicUtf8StringView<false>(rhs.data(), rhs.size()));
}
- [[nodiscard]] friend inline bool operator==(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
+ friend bool
+ comparesEqual(const QBasicUtf8StringView &lhs, const QBasicUtf8StringView &rhs) noexcept
{
return lhs.size() == rhs.size()
- && QtPrivate::equalStrings(QBasicUtf8StringView<false>(lhs.data(), lhs.size()),
- QBasicUtf8StringView<false>(rhs.data(), rhs.size()));
+ && QtPrivate::equalStrings(QBasicUtf8StringView<false>(lhs.data(), lhs.size()),
+ QBasicUtf8StringView<false>(rhs.data(), rhs.size()));
}
- [[nodiscard]] friend inline bool operator!=(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return !operator==(lhs, rhs); }
-
-#ifdef __cpp_impl_three_way_comparison
- [[nodiscard]] friend inline auto operator<=>(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return QBasicUtf8StringView::compare(lhs, rhs) <=> 0; }
-#else
- [[nodiscard]] friend inline bool operator<=(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return QBasicUtf8StringView::compare(lhs, rhs) <= 0; }
- [[nodiscard]] friend inline bool operator>=(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return QBasicUtf8StringView::compare(lhs, rhs) >= 0; }
- [[nodiscard]] friend inline bool operator<(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return QBasicUtf8StringView::compare(lhs, rhs) < 0; }
- [[nodiscard]] friend inline bool operator>(QBasicUtf8StringView lhs, QBasicUtf8StringView rhs) noexcept
- { return QBasicUtf8StringView::compare(lhs, rhs) > 0; }
-#endif
+ friend Qt::strong_ordering
+ compareThreeWay(const QBasicUtf8StringView &lhs, const QBasicUtf8StringView &rhs) noexcept
+ {
+ const int res = QBasicUtf8StringView::compare(lhs, rhs);
+ return Qt::compareThreeWay(res, 0);
+ }
+ Q_DECLARE_STRONGLY_ORDERED(QBasicUtf8StringView)
friend bool
comparesEqual(const QBasicUtf8StringView &lhs, const QLatin1StringView &rhs) noexcept