diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h index 710eb65c66..3c8a3bba45 100644 --- a/src/corelib/text/qbytearray.h +++ b/src/corelib/text/qbytearray.h @@ -92,6 +92,7 @@ public: QByteArray(const char *, qsizetype size = -1); QByteArray(qsizetype size, char c); QByteArray(qsizetype size, Qt::Initialization); + explicit QByteArray(QByteArrayView v) : QByteArray(v.data(), v.size()) {} inline QByteArray(const QByteArray &) noexcept; inline ~QByteArray(); @@ -794,7 +795,7 @@ qsizetype erase_if(QByteArray &ba, Predicate pred) // QByteArray QByteArrayView::toByteArray() const { - return QByteArray(data(), size()); + return QByteArray(*this); } namespace Qt { diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h index 198b63c995..854850a981 100644 --- a/src/corelib/text/qstring.h +++ b/src/corelib/text/qstring.h @@ -167,6 +167,7 @@ public: QString(QChar c); QString(qsizetype size, QChar c); inline QString(QLatin1StringView latin1); + explicit QString(QStringView sv) : QString(sv.data(), sv.size()) {} #if defined(__cpp_char8_t) || defined(Q_QDOC) Q_WEAK_OVERLOAD inline QString(const char8_t *str) @@ -1118,7 +1119,7 @@ int QStringView::compare(QUtf8StringView other, Qt::CaseSensitivity cs) const no // QString QStringView::toString() const -{ return QString(data(), size()); } +{ return QString(*this); } qint64 QStringView::toLongLong(bool *ok, int base) const { return QString::toIntegral_helper(*this, ok, base); }