From 036c5db468164297d213764c59a4b59daa76d90a Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 16 Nov 2013 20:04:06 +0100 Subject: QString: add missing contains(QLatin1String) overload Since contains() just wraps indexOf(), which has a QLatin1String overload, add one for contains(), too, for consistency. [ChangeLog][QtCore][QString] Added QLatin1String overload of contains() Change-Id: I2acc628a51e00789fb2b90400cf0c523a5b5e65a Reviewed-by: Giuseppe D'Angelo Reviewed-by: Thiago Macieira --- src/corelib/tools/qstring.cpp | 9 +++++++++ src/corelib/tools/qstring.h | 3 +++ tests/auto/corelib/tools/qstring/tst_qstring.cpp | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 92556ce50a..150adfe192 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -3158,6 +3158,15 @@ int QString::count(const QStringRef &str, Qt::CaseSensitivity cs) const \sa indexOf(), count() */ +/*! \fn bool QString::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const + \since 5.3 + + \overload contains() + + Returns \c true if this string contains an occurrence of the latin-1 string + \a str; otherwise returns \c false. +*/ + /*! \fn bool QString::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const \overload contains() diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 2eaed65148..3933e3978e 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -330,6 +330,7 @@ public: inline bool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline bool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; + inline bool contains(QLatin1String s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline bool contains(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; @@ -981,6 +982,8 @@ inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const { return indexOf(s, 0, cs) != -1; } inline bool QString::contains(const QStringRef &s, Qt::CaseSensitivity cs) const { return indexOf(s, 0, cs) != -1; } +inline bool QString::contains(QLatin1String s, Qt::CaseSensitivity cs) const +{ return indexOf(s, 0, cs) != -1; } inline bool QString::contains(QChar c, Qt::CaseSensitivity cs) const { return indexOf(c, 0, cs) != -1; } diff --git a/tests/auto/corelib/tools/qstring/tst_qstring.cpp b/tests/auto/corelib/tools/qstring/tst_qstring.cpp index 48874781c0..9a3aaebaaf 100644 --- a/tests/auto/corelib/tools/qstring/tst_qstring.cpp +++ b/tests/auto/corelib/tools/qstring/tst_qstring.cpp @@ -1440,6 +1440,8 @@ void tst_QString::contains() QVERIFY(a.contains('F',Qt::CaseInsensitive)); QVERIFY(a.contains("FG")); QVERIFY(a.contains("FG",Qt::CaseInsensitive)); + QVERIFY(a.contains(QLatin1String("FG"))); + QVERIFY(a.contains(QLatin1String("fg"),Qt::CaseInsensitive)); QVERIFY(a.contains( QString(), Qt::CaseInsensitive)); QVERIFY(a.contains( "", Qt::CaseInsensitive)); QVERIFY(a.contains(QRegExp("[FG][HI]"))); -- cgit v1.2.3