Avoid allocation on char16_t* comparisons

Compare as QStringView

Change-Id: I151d17ac20da30266776ca369ca8221017174f84
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Allan Sandfeld Jensen 2020-11-03 10:06:35 +01:00
parent e674ee5328
commit 02c2a58cdf

View File

@ -877,19 +877,19 @@ public:
friend bool operator<=(std::nullptr_t, const QString &s2) noexcept { return s2 >= nullptr; }
friend bool operator>=(std::nullptr_t, const QString &s2) noexcept { return s2 <= nullptr; }
friend bool operator==(const QString &s1, const char16_t *s2) { return s1 == QString::fromUtf16(s2); }
friend bool operator!=(const QString &s1, const char16_t *s2) { return s1 != QString::fromUtf16(s2); }
friend bool operator< (const QString &s1, const char16_t *s2) { return s1 < QString::fromUtf16(s2); }
friend bool operator> (const QString &s1, const char16_t *s2) { return s1 > QString::fromUtf16(s2); }
friend bool operator<=(const QString &s1, const char16_t *s2) { return s1 <= QString::fromUtf16(s2); }
friend bool operator>=(const QString &s1, const char16_t *s2) { return s1 >= QString::fromUtf16(s2); }
friend bool operator==(const QString &s1, const char16_t *s2) noexcept { return s1 == QStringView(s2); }
friend bool operator!=(const QString &s1, const char16_t *s2) noexcept { return s1 != QStringView(s2); }
friend bool operator< (const QString &s1, const char16_t *s2) noexcept { return s1 < QStringView(s2); }
friend bool operator> (const QString &s1, const char16_t *s2) noexcept { return s1 > QStringView(s2); }
friend bool operator<=(const QString &s1, const char16_t *s2) noexcept { return s1 <= QStringView(s2); }
friend bool operator>=(const QString &s1, const char16_t *s2) noexcept { return s1 >= QStringView(s2); }
friend bool operator==(const char16_t *s1, const QString &s2) { return s2 == s1; }
friend bool operator!=(const char16_t *s1, const QString &s2) { return s2 != s1; }
friend bool operator< (const char16_t *s1, const QString &s2) { return s2 > s1; }
friend bool operator> (const char16_t *s1, const QString &s2) { return s2 < s1; }
friend bool operator<=(const char16_t *s1, const QString &s2) { return s2 >= s1; }
friend bool operator>=(const char16_t *s1, const QString &s2) { return s2 <= s1; }
friend bool operator==(const char16_t *s1, const QString &s2) noexcept { return s2 == s1; }
friend bool operator!=(const char16_t *s1, const QString &s2) noexcept { return s2 != s1; }
friend bool operator< (const char16_t *s1, const QString &s2) noexcept { return s2 > s1; }
friend bool operator> (const char16_t *s1, const QString &s2) noexcept { return s2 < s1; }
friend bool operator<=(const char16_t *s1, const QString &s2) noexcept { return s2 >= s1; }
friend bool operator>=(const char16_t *s1, const QString &s2) noexcept { return s2 <= s1; }
// QChar <> QString
friend inline bool operator==(QChar lhs, const QString &rhs) noexcept