이 페이지에서

QHttpHeaderRangeSet Class

QHttpHeaderRangeSet은 HTTP Range 헤더의 바이트 범위를 나타냅니다. 더 보기...

헤더: #include <QHttpHeaderRangeSet>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
다음부터: Qt 6.12부터
상태: 기술 미리보기

이 클래스는 기술 미리보기 단계에 있으며 변경될 수 있습니다.

QHttpHeaderRangeSet 비교

범주비교 가능한 유형
동등성QHttpHeaderRangeSet

공개 함수

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)

상세 설명

QHttpHeaderRangeSet은 RFC 9110에서 범위 집합( range-set)이라고 부르는, 해당 헤더에 나타나는 QHttpHeaderRangeSpec 객체들의 시퀀스를 보관합니다.

범위는 지정된 순서대로 유지되는데, 이는 서버에 해당 범위를 전송하도록 요청하는 순서와 동일하기 때문입니다. 이 클래스는 범위를 해석하지 않으므로, 중복되거나 유효하지 않은 범위도 거부되거나 병합되지 않습니다.

각 범위는 RFC 9110 섹션 14.1.1에 정의된 바와 같이 바이트 범위입니다:

  • 시작 값은 지정되었으나 끝 값이 지정되지 않은 경우(예: "bytes=500-"), QHttpHeaderRangeSpec 의 값은 start=500 및 end=std::nullopt 가 됩니다.
  • 끝이 지정되었으나 시작이 지정되지 않은 경우(예: "bytes=-500"), QHttpHeaderRangeSpec 에는 마지막 500바이트를 나타내는 start=std::nullopt 및 end=500 가 포함됩니다.
  • 둘 다 지정된 경우(예: "bytes=0-499"), QHttpHeaderRangeSpec 에는 start=0 및 end=499 가 포함됩니다.

QHttpHeaderRangeSpec, QHttpHeaders::rangeValues() 및 QHttpHeaders::setRangeValues()도 참조하십시오 .

멤버 함수 문서

QHttpHeaderRangeSet::QHttpHeaderRangeSet()

범위가 없는 QHttpHeaderRangeSet 객체를 생성합니다.

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

r 를 지정된 순서대로 포함하는 QHttpHeaderRangeSet 객체를 생성합니다.

setRanges()도 참조하십시오 .

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

r 에 포함된 범위들을 주어진 순서대로 포함하는 QHttpHeaderRangeSet 객체를 생성합니다.

이 함수는 오버로드된 함수입니다.

QHttpHeaderRangeSet::QHttpHeaderRangeSet(const QHttpHeaderRangeSet &other)

other 의 복사본을 생성합니다.

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

other 에서 객체를 이동 생성하며, 이로 인해 해당 객체에는 범위 정보가 남지 않게 됩니다.

[noexcept] QHttpHeaderRangeSet::~QHttpHeaderRangeSet()

객체를 삭제합니다.

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

이 객체가 보유한 범위에 대한 뷰를 반환합니다.

반환된 뷰는 이 객체가 수정되거나 소멸될 때까지 유효합니다.

setRanges()도 참조하십시오 .

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

이 객체가 보유한 범위들을 r 로 설정합니다. r 의 순서는 유지됩니다.

ranges()도 참조하십시오 .

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

이 범위 객체를 other 로 교체합니다. 이 작업은 매우 빠르며 절대 실패하지 않습니다.

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

other 를 이 객체에 할당하고, 이 객체에 대한 참조를 반환합니다. other 에는 더 이상 범위(ranges)가 남아 있지 않습니다.

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

other 의 내용을 할당하고, 이 객체에 대한 참조를 반환합니다.

관련 비멤버

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

seed 를 계산의 시드로 사용하여 key 에 대한 해시 값을 반환합니다.

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

lhs 와 rhs 가 서로 다른 범위를 포함하는지, 아니면 범위의 순서가 다른지를 반환합니다.

operator==()도 참조하십시오 .

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

스트림 debug 에 ranges 값을 기록합니다.

이 함수는 Qt 6.12에서 도입되었습니다.

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

lhs 와 rhs 가 동일한 순서로 동일한 범위를 포함하는지 여부를 반환합니다.

다른 시퀀스 컨테이너와 마찬가지로, 범위는 요소별로 비교되므로, 동일한 바이트 집합을 나타내지만 다른 범위를 포함하거나 순서가 다른 객체들은 서로 같지 않은 것으로 비교됩니다.

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.