diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-01-03 12:00:10 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-01-06 12:35:26 +0100 |
commit | 6d201aa1bddad04fd4176c526a878ec9cad6f9ab (patch) | |
tree | 9fe5fb1e855231d961abf7fd7f1faa4eace2338a /src/corelib/text/qregularexpression.h | |
parent | 24b8b2cb6ccd3704545ef44519f567edb3da5d5d (diff) |
QRegularExpression: make escape-like functions work on QStringView
They don't store the strings.
[ChangeLog][QtCore][QRegularExpression] The escape(),
wildcardToRegularExpression() and anchoredPattern() functions
now have overloads taking a QStringView parameter.
Change-Id: Icc66ba1201ef1f1064d9565900439e78912b675c
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Diffstat (limited to 'src/corelib/text/qregularexpression.h')
-rw-r--r-- | src/corelib/text/qregularexpression.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/corelib/text/qregularexpression.h b/src/corelib/text/qregularexpression.h index f799a38ae4..4fa258b080 100644 --- a/src/corelib/text/qregularexpression.h +++ b/src/corelib/text/qregularexpression.h @@ -1,7 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2012 Giuseppe D'Angelo <dangelog@gmail.com>. -** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> +** Copyright (C) 2020 Giuseppe D'Angelo <dangelog@gmail.com>. +** Copyright (C) 2020 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -42,9 +42,8 @@ #define QREGULAREXPRESSION_H #include <QtCore/qglobal.h> - #include <QtCore/qstring.h> -#include <QtCore/qstringlist.h> +#include <QtCore/qstringview.h> #include <QtCore/qshareddata.h> #include <QtCore/qvariant.h> @@ -52,7 +51,8 @@ QT_REQUIRE_CONFIG(regularexpression); QT_BEGIN_NAMESPACE -class QStringView; +class QStringList; +class QLatin1String; class QRegularExpressionMatch; class QRegularExpressionMatchIterator; @@ -137,14 +137,18 @@ public: void optimize() const; +#if QT_STRINGVIEW_LEVEL < 2 static QString escape(const QString &str); static QString wildcardToRegularExpression(const QString &str); static inline QString anchoredPattern(const QString &expression) { - return QLatin1String("\\A(?:") - + expression - + QLatin1String(")\\z"); + return anchoredPattern(QStringView(expression)); } +#endif + + static QString escape(QStringView str); + static QString wildcardToRegularExpression(QStringView str); + static QString anchoredPattern(QStringView expression); bool operator==(const QRegularExpression &re) const; inline bool operator!=(const QRegularExpression &re) const { return !operator==(re); } |