Inline QCollator's QString methods via QStringView

Can't be done before Qt 7 unless we do it now, as it'd be BiC.

Task-number: QTBUG-86400
Change-Id: Ib7b2e7b20b4a80b53dfc6535efe90d1674f38e81
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 53a1e015fdb4082900f306b5e2cca7bd5df77d03)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Edward Welbourne 2020-11-27 18:18:07 +01:00 committed by Qt Cherry-pick Bot
parent 491f67dfa8
commit d2e0bfad94
2 changed files with 6 additions and 10 deletions

View File

@ -314,6 +314,7 @@ bool QCollator::ignorePunctuation() const
*/
/*!
\fn int QCollator::compare(const QString &s1, const QString &s2) const
\overload
Compares \a s1 with \a s2.
@ -321,12 +322,9 @@ bool QCollator::ignorePunctuation() const
Returns an integer less than, equal to, or greater than zero depending on
whether \a s1 sorts before, with or after \a s2.
*/
int QCollator::compare(const QString &s1, const QString &s2) const
{
return compare(QStringView(s1), QStringView(s2));
}
/*!
\fn int QCollator::compare(const QChar *s1, int len1, const QChar *s2, int len2) const
\overload
Compares \a s1 with \a s2. \a len1 and \a len2 specify the lengths of the
@ -335,10 +333,6 @@ int QCollator::compare(const QString &s1, const QString &s2) const
Returns an integer less than, equal to, or greater than zero depending on
whether \a s1 sorts before, with or after \a s2.
*/
int QCollator::compare(const QChar *s1, int len1, const QChar *s2, int len2) const
{
return compare(QStringView(s1, len1), QStringView(s2, len2));
}
#endif // QT_STRINGVIEW_LEVEL < 2
/*!

View File

@ -105,8 +105,10 @@ public:
bool ignorePunctuation() const;
#if QT_STRINGVIEW_LEVEL < 2
int compare(const QString &s1, const QString &s2) const;
int compare(const QChar *s1, int len1, const QChar *s2, int len2) const;
int compare(const QString &s1, const QString &s2) const
{ return compare(QStringView(s1), QStringView(s2)); }
int compare(const QChar *s1, int len1, const QChar *s2, int len2) const
{ return compare(QStringView(s1, len1), QStringView(s2, len2)); }
bool operator()(const QString &s1, const QString &s2) const
{ return compare(s1, s2) < 0; }