On this page

QHttpHeaderRangeSpec Struct

QHttpHeaderRangeSpec represents a single byte range as used in the HTTP Range and Content-Range headers, which RFC 9110 calls a range-spec. More...

Header: #include <QHttpHeaderRangeSpec>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
Since: Qt 6.12
Status: Technology preview

This struct is in technology preview and is subject to change.

QHttpHeaderRangeSpec Comparisons

CategoryComparable Types
equalityQHttpHeaderRangeSpec

Public Functions

bool isValid() const

Public Variables

std::optional<qint64> end
std::optional<qint64> start
(since 6.12) size_t qHash(QHttpHeaderRangeSpec key, size_t seed = 0)
(since 6.12) QDebug operator<<(QDebug debug, const QHttpHeaderRangeSpec &range)

Detailed Description

A range spec has an optional start and an optional end, both expressed as byte offsets. A missing start or end is represented as std::nullopt.

Use isValid() to check whether a range spec is well-formed before passing it to QHttpHeaders::setRangeValues().

See also QHttpHeaderRangeSet, QHttpHeaders::rangeValues(), and QHttpHeaders::setRangeValues().

Member Function Documentation

[constexpr noexcept] bool QHttpHeaderRangeSpec::isValid() const

Returns true if the range spec is well-formed, false otherwise.

A range spec is considered invalid if:

  • Both start and end are std::nullopt.
  • The start value is negative.
  • The end value is negative.
  • Both start and end are set, and start is greater than end.

Member Variable Documentation

std::optional<qint64> QHttpHeaderRangeSpec::end

Contains the end byte offset of the range, or std::nullopt if no end was set. A range with a start but without an end (e.g., bytes=500-) requests all bytes from the given offset to the end of the resource.

See also start.

std::optional<qint64> QHttpHeaderRangeSpec::start

Contains the start byte offset of the range, or std::nullopt if no start was set. A range without a start but with an end (e.g., bytes=-500) represents the last N bytes of the resource.

See also end.

Related Non-Members

[noexcept, since 6.12] size_t qHash(QHttpHeaderRangeSpec key, size_t seed = 0)

Returns the hash value for key, using seed to seed the calculation.

This function was introduced in Qt 6.12.

[since 6.12] QDebug operator<<(QDebug debug, const QHttpHeaderRangeSpec &range)

Writes range to the debug stream.

This function was introduced in Qt 6.12.

© 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.