summaryrefslogtreecommitdiffstats
path: root/src/corelib/text
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-05-16 17:59:23 +0200
committerMarc Mutz <marc.mutz@qt.io>2022-06-07 06:46:04 +0000
commitd6575f37179aef80490f4ec03a61ab6f5033bd3d (patch)
treecc9f6ff4aab3d021c87976c0f6b7c5aaaa4da2af /src/corelib/text
parent36c1a7ba23eab079683a344dc34094c28a9f56e2 (diff)
QByteArray: de-inline to/fromStdString()
Removes another owning container manipulation that made the top entry in Clang -ftime-trace's most-expensive template instantiations in a QtWidgets build. Pick-to: 6.4 Task-number: QTBUG-97601 Change-Id: I8c765ea2e6c46da5188b70c9503dd87e63f6b328 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/corelib/text')
-rw-r--r--src/corelib/text/qbytearray.cpp8
-rw-r--r--src/corelib/text/qbytearray.h10
2 files changed, 10 insertions, 8 deletions
diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp
index 573a36d9a0..1219b3d86d 100644
--- a/src/corelib/text/qbytearray.cpp
+++ b/src/corelib/text/qbytearray.cpp
@@ -4561,6 +4561,10 @@ QByteArray QByteArray::fromPercentEncoding(const QByteArray &input, char percent
\sa toStdString(), QString::fromStdString()
*/
+QByteArray QByteArray::fromStdString(const std::string &s)
+{
+ return QByteArray(s.data(), qsizetype(s.size()));
+}
/*!
\fn std::string QByteArray::toStdString() const
@@ -4574,6 +4578,10 @@ QByteArray QByteArray::fromPercentEncoding(const QByteArray &input, char percent
\sa fromStdString(), QString::toStdString()
*/
+std::string QByteArray::toStdString() const
+{
+ return std::string(data(), size_t(size()));
+}
/*!
\since 4.4
diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h
index 4ee6c34baa..a43a1a4128 100644
--- a/src/corelib/text/qbytearray.h
+++ b/src/corelib/text/qbytearray.h
@@ -430,8 +430,8 @@ public:
void shrink_to_fit() { squeeze(); }
iterator erase(const_iterator first, const_iterator last);
- static inline QByteArray fromStdString(const std::string &s);
- inline std::string toStdString() const;
+ static QByteArray fromStdString(const std::string &s);
+ std::string toStdString() const;
inline qsizetype size() const noexcept { return d->size; }
#if QT_DEPRECATED_SINCE(6, 4)
@@ -567,12 +567,6 @@ inline QByteArray &QByteArray::setNum(ulong n, int base)
inline QByteArray &QByteArray::setNum(float n, char format, int precision)
{ return setNum(double(n), format, precision); }
-inline std::string QByteArray::toStdString() const
-{ return std::string(constData(), length()); }
-
-inline QByteArray QByteArray::fromStdString(const std::string &s)
-{ return QByteArray(s.data(), qsizetype(s.size())); }
-
#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QByteArray &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QByteArray &);