From b2acd592d239a36407d166a7f7a1ad00128daffc 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 Change-Id: Ia41eb91e9e62a252b76c20c67c1c599c0f6a633d Reviewed-by: Marc Mutz (cherry picked from commit b5665f6fab40232a81a056523608c295c8167bc6) Reviewed-by: Qt Cherry-pick Bot --- 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 b4477ffb717..3e2f0e718b8 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -1063,6 +1063,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 695094f473c..d59a8ae3bd3 100644 --- a/src/network/access/qhttpheaders.h +++ b/src/network/access/qhttpheaders.h @@ -247,6 +247,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,