From b5665f6fab40232a81a056523608c295c8167bc6 Mon Sep 17 00:00:00 2001 From: Juha Vuolle Date: Wed, 10 Jan 2024 15:13:20 +0200 Subject: [PATCH] Add QHttpHeaders::reserve() Found in API-review Pick-to: 6.7 Change-Id: Ia41eb91e9e62a252b76c20c67c1c599c0f6a633d Reviewed-by: Marc Mutz --- src/network/access/qhttpheaders.cpp | 12 ++++++++++++ src/network/access/qhttpheaders.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp index c0e2b336f1..4201b2b4d8 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -1062,6 +1062,18 @@ qsizetype QHttpHeaders::size() const noexcept return d->headers.size(); } +/*! + Attempts to allocate memory for at least \a size header entries. + + If you know in advance how how many header entries there will + be, you may call this function to prevent reallocations + and memory fragmentation. +*/ +void QHttpHeaders::reserve(qsizetype size) +{ + d->headers.reserve(size); +} + /*! Compares this instance with \a other and returns \c true if they are considered equal in accordance with the provided \a options. diff --git a/src/network/access/qhttpheaders.h b/src/network/access/qhttpheaders.h index 7dfcdcef19..5a0a059559 100644 --- a/src/network/access/qhttpheaders.h +++ b/src/network/access/qhttpheaders.h @@ -245,6 +245,7 @@ public: Q_NETWORK_EXPORT QByteArray combinedValue(WellKnownHeader name) const; Q_NETWORK_EXPORT qsizetype size() const noexcept; + Q_NETWORK_EXPORT void reserve(qsizetype size); bool isEmpty() const noexcept { return size() == 0; } Q_NETWORK_EXPORT bool equals(const QHttpHeaders &other,