QStringList: add contains(QStringView) overload
Change-Id: I953e4ef3167011d0348ea482890e29478bd6f761 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
64fe66e7be
commit
8b6100d512
@ -323,6 +323,7 @@ static bool stringList_contains(const QStringList &stringList, const T &str, Qt:
|
||||
}
|
||||
|
||||
|
||||
#if QT_STRINGVIEW_LEVEL < 2
|
||||
/*!
|
||||
\fn bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const
|
||||
|
||||
@ -332,7 +333,18 @@ static bool stringList_contains(const QStringList &stringList, const T &str, Qt:
|
||||
|
||||
\sa indexOf(), lastIndexOf(), QString::contains()
|
||||
*/
|
||||
bool QtPrivate::QStringList_contains(const QStringList *that, const QString &str,
|
||||
#endif
|
||||
|
||||
/*!
|
||||
\fn bool QStringList::contains(QStringView str, Qt::CaseSensitivity cs) const
|
||||
\overload
|
||||
\since 5.12
|
||||
|
||||
Returns \c true if the list contains the string \a str; otherwise
|
||||
returns \c false. The search is case insensitive if \a cs is
|
||||
Qt::CaseInsensitive; the search is case sensitive by default.
|
||||
*/
|
||||
bool QtPrivate::QStringList_contains(const QStringList *that, QStringView str,
|
||||
Qt::CaseSensitivity cs)
|
||||
{
|
||||
return stringList_contains(*that, str, cs);
|
||||
|
@ -117,8 +117,11 @@ public:
|
||||
{ QList<QString>::operator=(std::move(other)); return *this; }
|
||||
#endif
|
||||
|
||||
#if QT_STRINGVIEW_LEVEL < 2
|
||||
inline bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
|
||||
#endif
|
||||
inline bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
|
||||
inline bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
|
||||
|
||||
inline QStringList operator+(const QStringList &other) const
|
||||
{ QStringList n = *this; n += other; return n; }
|
||||
@ -161,7 +164,7 @@ namespace QtPrivate {
|
||||
QStringList Q_CORE_EXPORT QStringList_filter(const QStringList *that, const QString &str,
|
||||
Qt::CaseSensitivity cs);
|
||||
|
||||
bool Q_CORE_EXPORT QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs);
|
||||
bool Q_CORE_EXPORT QStringList_contains(const QStringList *that, QStringView str, Qt::CaseSensitivity cs);
|
||||
bool Q_CORE_EXPORT QStringList_contains(const QStringList *that, QLatin1String str, Qt::CaseSensitivity cs);
|
||||
void Q_CORE_EXPORT QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after,
|
||||
Qt::CaseSensitivity cs);
|
||||
@ -213,16 +216,23 @@ inline QStringList QListSpecialMethods<QString>::filter(const QString &str, Qt::
|
||||
return QtPrivate::QStringList_filter(self(), str, cs);
|
||||
}
|
||||
|
||||
#if QT_STRINGVIEW_LEVEL < 2
|
||||
inline bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const
|
||||
{
|
||||
return QtPrivate::QStringList_contains(this, str, cs);
|
||||
}
|
||||
#endif
|
||||
|
||||
inline bool QStringList::contains(QLatin1String str, Qt::CaseSensitivity cs) const
|
||||
{
|
||||
return QtPrivate::QStringList_contains(this, str, cs);
|
||||
}
|
||||
|
||||
inline bool QStringList::contains(QStringView str, Qt::CaseSensitivity cs) const
|
||||
{
|
||||
return QtPrivate::QStringList_contains(this, str, cs);
|
||||
}
|
||||
|
||||
inline QStringList &QListSpecialMethods<QString>::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs)
|
||||
{
|
||||
QtPrivate::QStringList_replaceInStrings(self(), before, after, cs);
|
||||
|
@ -273,6 +273,15 @@ void tst_QStringList::contains()
|
||||
QVERIFY(list.contains(QLatin1String("ARTHUR"), Qt::CaseInsensitive));
|
||||
QVERIFY(list.contains(QLatin1String("dent"), Qt::CaseInsensitive));
|
||||
QVERIFY(!list.contains(QLatin1String("hans"), Qt::CaseInsensitive));
|
||||
|
||||
QVERIFY(list.contains(QStringView(QString("arthur"))));
|
||||
QVERIFY(!list.contains(QStringView(QString("ArthuR"))));
|
||||
QVERIFY(!list.contains(QStringView(QString("Hans"))));
|
||||
QVERIFY(list.contains(QStringView(QString("arthur")), Qt::CaseInsensitive));
|
||||
QVERIFY(list.contains(QStringView(QString("ArthuR")), Qt::CaseInsensitive));
|
||||
QVERIFY(list.contains(QStringView(QString("ARTHUR")), Qt::CaseInsensitive));
|
||||
QVERIFY(list.contains(QStringView(QString("dent")), Qt::CaseInsensitive));
|
||||
QVERIFY(!list.contains(QStringView(QString("hans")), Qt::CaseInsensitive));
|
||||
}
|
||||
|
||||
void tst_QStringList::removeDuplicates_data()
|
||||
|
Loading…
x
Reference in New Issue
Block a user