From 5c9e39311757325c82bd5d18789a5caa5297af83 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 5 May 2016 11:37:01 +0300 Subject: QString: add some missing overloaded operator+ to keep compatibility with and without using QT_USE_QSTRINGBUILDER. Change-Id: If8218fe0693cdb7ad1250beb272e0e7c356bbf4a Reviewed-by: Edward Welbourne --- src/corelib/tools/qstring.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/corelib/tools') diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 16a48515e8..0c0f3355a9 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -1725,6 +1725,23 @@ inline bool QStringRef::contains(const QStringRef &s, Qt::CaseSensitivity cs) co inline QString &QString::insert(int i, const QStringRef &s) { return insert(i, s.constData(), s.length()); } +#if !defined(QT_USE_FAST_OPERATOR_PLUS) && !defined(QT_USE_QSTRINGBUILDER) +inline QString operator+(const QString &s1, const QStringRef &s2) +{ QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } +inline QString operator+(const QStringRef &s1, const QString &s2) +{ QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } +inline QString operator+(const QStringRef &s1, QLatin1String s2) +{ QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } +inline QString operator+(QLatin1String s1, const QStringRef &s2) +{ QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } +inline QString operator+(const QStringRef &s1, const QStringRef &s2) +{ QString t; t.reserve(s1.size() + s2.size()); t += s1; t += s2; return t; } +inline QString operator+(const QStringRef &s1, QChar s2) +{ QString t; t.reserve(s1.size() + 1); t += s1; t += s2; return t; } +inline QString operator+(QChar s1, const QStringRef &s2) +{ QString t; t.reserve(1 + s2.size()); t += s1; t += s2; return t; } +#endif // !(QT_USE_FAST_OPERATOR_PLUS || QT_USE_QSTRINGBUILDER) + namespace Qt { #if QT_DEPRECATED_SINCE(5, 0) QT_DEPRECATED inline QString escape(const QString &plain) { -- cgit v1.2.3