QHttpHeaders: reserve memory for headers when creating from a container
To avoid any potential resizes during append looping Task-number: QTBUG-119002 Change-Id: I8f4c391f05b5c5bd0b48a4f17b11996652006508 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
This commit is contained in:
parent
11b19b3341
commit
0bfec6cd11
@ -528,6 +528,7 @@ QHttpHeaders::QHttpHeaders() : d(new QHttpHeadersPrivate)
|
||||
QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QByteArray>> &headers)
|
||||
{
|
||||
QHttpHeaders h;
|
||||
h.d->headers.reserve(headers.size());
|
||||
for (const auto &header : headers)
|
||||
h.append(header.first, header.second);
|
||||
return h;
|
||||
@ -542,6 +543,7 @@ QHttpHeaders QHttpHeaders::fromListOfPairs(const QList<std::pair<QByteArray, QBy
|
||||
QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray> &headers)
|
||||
{
|
||||
QHttpHeaders h;
|
||||
h.d->headers.reserve(headers.size());
|
||||
for (const auto &[name,value] : headers.asKeyValueRange())
|
||||
h.append(name, value);
|
||||
return h;
|
||||
@ -556,6 +558,7 @@ QHttpHeaders QHttpHeaders::fromMultiMap(const QMultiMap<QByteArray, QByteArray>
|
||||
QHttpHeaders QHttpHeaders::fromMultiHash(const QMultiHash<QByteArray, QByteArray> &headers)
|
||||
{
|
||||
QHttpHeaders h;
|
||||
h.d->headers.reserve(headers.size());
|
||||
for (const auto &[name,value] : headers.asKeyValueRange())
|
||||
h.append(name, value);
|
||||
return h;
|
||||
|
Loading…
x
Reference in New Issue
Block a user