Sur cette page

QHttpHeaderRangeSet Class

QHttpHeaderRangeSet représente les plages d'octets d'un en-tête HTTP Range. En savoir plus...

En-tête : #include <QHttpHeaderRangeSet>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network
Depuis : Qt 6.12
Statut : Aperçu technologique

Cette classe est en préversion technologique et est susceptible d'être modifiée.

Comparaisons QHttpHeaderRangeSet

CatégorieTypes comparables
égalitéQHttpHeaderRangeSet

Fonctions publiques

QHttpHeaderRangeSet()
QHttpHeaderRangeSet(QSpan<const QHttpHeaderRangeSpec> r)
QHttpHeaderRangeSet(std::initializer_list<QHttpHeaderRangeSpec> r)
QHttpHeaderRangeSet(const QHttpHeaderRangeSet &other)
QHttpHeaderRangeSet(QHttpHeaderRangeSet &&other)
~QHttpHeaderRangeSet()
QSpan<const QHttpHeaderRangeSpec> ranges() const
void setRanges(QSpan<const QHttpHeaderRangeSpec> r)
void swap(QHttpHeaderRangeSet &other)
QHttpHeaderRangeSet &operator=(QHttpHeaderRangeSet &&other)
QHttpHeaderRangeSet &operator=(const QHttpHeaderRangeSet &other)
size_t qHash(const QHttpHeaderRangeSet &key, size_t seed)
bool operator!=(const QHttpHeaderRangeSet &lhs, const QHttpHeaderRangeSet &rhs)
(since 6.12) QDebug operator<<(QDebug debug, const QHttpHeaderRangeSet &ranges)
bool operator==(const QHttpHeaderRangeSet &lhs, const QHttpHeaderRangeSet &rhs)

Description détaillée

QHttpHeaderRangeSet contient une séquence d'objets ` QHttpHeaderRangeSpec `, tels qu'ils apparaissent dans un en-tête de ce type, que la RFC 9110 appelle un « range-set ».

Les plages sont conservées dans l’ordre dans lequel elles ont été fournies, car c’est dans cet ordre que le serveur est invité à les envoyer. La classe ne les interprète pas : ni les plages qui se chevauchent, ni les plages non valides ne sont rejetées ou fusionnées.

Chaque plage est une plage d'octets, telle que définie dans la section 14.1.1 de la RFC 9110:

  • Si le début est spécifié mais pas la fin (par exemple, « bytes=500- »), l’ QHttpHeaderRangeSpec aura les valeurs suivantes : start=500 et end=std::nullopt.
  • Si la fin est spécifiée mais pas le début (par exemple, « bytes=-500 »), l’ QHttpHeaderRangeSpec aura les valeurs start=std::nullopt et end=500, représentant les 500 derniers octets.
  • Si les deux sont spécifiés (par exemple, « bytes=0-499 »), l'QHttpHeaderRangeSpec aura les valeurs start=0 et end=499.

Voir également QHttpHeaderRangeSpec, QHttpHeaders::rangeValues() et QHttpHeaders::setRangeValues().

Documentation des fonctions membres

QHttpHeaderRangeSet::QHttpHeaderRangeSet()

Crée un objet QHttpHeaderRangeSet sans plage.

QHttpHeaderRangeSet::QHttpHeaderRangeSet(QSpan<const QHttpHeaderRangeSpec> r)

Crée un objet `QHttpHeaderRangeSet` contenant les éléments ` r`, dans l'ordre indiqué.

Voir également setRanges().

QHttpHeaderRangeSet::QHttpHeaderRangeSet(std::initializer_list<QHttpHeaderRangeSpec> r)

Crée un objet `QHttpHeaderRangeSet` contenant les plages définies dans ` r`, dans l'ordre indiqué.

Il s'agit d'une fonction surchargée.

QHttpHeaderRangeSet::QHttpHeaderRangeSet(const QHttpHeaderRangeSet &other)

Crée une copie de other.

[constexpr noexcept default] QHttpHeaderRangeSet::QHttpHeaderRangeSet(QHttpHeaderRangeSet &&other)

La fonction « move » construit l’objet à partir de other, qui se retrouve alors sans plages.

[noexcept] QHttpHeaderRangeSet::~QHttpHeaderRangeSet()

Détruit l'objet.

[noexcept] QSpan<const QHttpHeaderRangeSpec> QHttpHeaderRangeSet::ranges() const

Renvoie une vue des plages contenues dans cet objet.

La vue renvoyée reste valide jusqu’à ce que cet objet soit modifié ou détruit.

Voir aussi setRanges().

void QHttpHeaderRangeSet::setRanges(QSpan<const QHttpHeaderRangeSpec> r)

Définit les plages détenues par cet objet sur r. Conserve l'ordre de r.

Voir également ranges().

[noexcept] void QHttpHeaderRangeSet::swap(QHttpHeaderRangeSet &other)

Remplace cet objet « ranges » par other. Cette opération est très rapide et ne rencontre jamais d'échec.

[noexcept] QHttpHeaderRangeSet &QHttpHeaderRangeSet::operator=(QHttpHeaderRangeSet &&other)

La fonction « move-assign » attribue la valeur « other » à cet objet et renvoie une référence à celui-ci. « other » ne contient plus aucune plage.

QHttpHeaderRangeSet &QHttpHeaderRangeSet::operator=(const QHttpHeaderRangeSet &other)

Attribue le contenu de ` other ` et renvoie une référence à cet objet.

Éléments non membres associés

[noexcept] size_t qHash(const QHttpHeaderRangeSet &key, size_t seed)

Renvoie la valeur de hachage de key, en utilisant seed comme graine pour le calcul.

[noexcept] bool operator!=(const QHttpHeaderRangeSet &lhs, const QHttpHeaderRangeSet &rhs)

Indique si les objets ` lhs ` et ` rhs ` contiennent des plages différentes ou si celles-ci sont classées dans un ordre différent.

Voir également operator==().

[since 6.12] QDebug operator<<(QDebug debug, const QHttpHeaderRangeSet &ranges)

Écrit ranges dans le flux debug.

Cette fonction a été introduite dans Qt 6.12.

[noexcept] bool operator==(const QHttpHeaderRangeSet &lhs, const QHttpHeaderRangeSet &rhs)

Indique si lhs et rhs contiennent les mêmes plages dans le même ordre.

Comme pour les autres conteneurs de séquences, les plages sont comparées élément par élément ; ainsi, les objets qui désignent le même ensemble d’octets, mais qui contiennent des plages différentes ou les contiennent dans un ordre différent, ne sont pas considérés comme égaux.

Voir également operator!=().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.