이 페이지에서

QTaggedIterator Class

template <typename Iterator, typename IteratorCategory> class QTaggedIterator

QTaggedIterator는 이터레이터를 래핑하고 표준 이터레이터 트레이트를 제공하는 템플릿 클래스입니다. 더 보기...

헤더: #include <QTaggedIterator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
다음부터: Qt 6.0부터

공개 함수

QTaggedIterator(Iterator &&it)
bool operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const
QTaggedIterator<Iterator, IteratorCategory> operator+(qsizetype j) const
QTaggedIterator<Iterator, IteratorCategory> &operator++()
QTaggedIterator<Iterator, IteratorCategory> operator++(int x)
QTaggedIterator<Iterator, IteratorCategory> &operator+=(qsizetype j)
qsizetype operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const
QTaggedIterator<Iterator, IteratorCategory> operator-(qsizetype j) const
QTaggedIterator<Iterator, IteratorCategory> &operator--()
QTaggedIterator<Iterator, IteratorCategory> operator--(int x)
QTaggedIterator<Iterator, IteratorCategory> &operator-=(qsizetype j)
bool operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const
QTaggedIterator<Iterator, IteratorCategory> operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k)

상세 설명

QTaggedIterator<Iterator, IteratorCategory>는 이터레이터를 래핑하며, 여기서 Iterator 는 기본 이터레이터 유형(예: QIterator 또는 QConstIterator)이고, IteratorCategory 는 표준 이터레이터 카테고리 태그(예: std::forward_iterator_tag 또는 std::random_access_iterator_tag)입니다.

표준 알고리즘에서 이터레이터를 사용하려면 해당 이터레이터의 트레이트를 알아야 합니다. QMetaSequence::Iterable 는 다양한 종류의 컨테이너와 함께 작동할 수 있으므로, 이터레이터 클래스 자체 내에서 트레이트를 선언할 수는 없습니다. QTaggedIterator를 사용하면 이터레이터 또는 QConstIterator 의 구체적인 인스턴스에 대한 트레이트를 명시적으로 선언할 수 있습니다.

멤버 함수 설명서

QTaggedIterator::QTaggedIterator(Iterator &&it)

이터레이터 또는 ` QConstIterator ` it 를 사용하여 `QTaggedIterator`를 생성합니다. 템플릿 인수로 전달된 `IteratorCategory`가 ` it`의 런타임 기능과 일치하는지 확인합니다. 일치하는 항목이 없는 경우, ` it ` 호출이 거부됩니다.

bool QTaggedIterator::operator!=(const QTaggedIterator<Iterator, IteratorCategory> &other) const

other 가 이 반복자와 다른 항목을 가리키는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

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

QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator+(qsizetype j) const

이 이터레이터로부터 앞으로 j 위치에 있는 항목에 대한 이터레이터를 반환합니다.

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

QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator++()

++ 연산자(++it)는 이터레이터를 컨테이너의 다음 항목으로 이동시키고, 새로운 현재 항목에 대한 이터레이터를 반환합니다.

QMetaSequence::Iterable::constEnd()에서 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

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

QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator++(int x)

후치 연산자 ` ++ `(it++)은 이터레이터를 컨테이너의 다음 항목으로 이동시키고, 이전에 현재 항목이었던 항목에 대한 이터레이터를 반환합니다.

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

QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator+=(qsizetype j)

이터레이터를 j 개 항목만큼 앞으로 이동시킵니다.

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

qsizetype QTaggedIterator::operator-(const QTaggedIterator<Iterator, IteratorCategory> &j) const

이 이터레이터와 j 사이의 거리를 반환합니다.

operator+(), operator-=(), QIterable::canReverseIterate()도 참조하십시오 .

QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator-(qsizetype j) const

이 이터레이터로부터 j 위치만큼 뒤로 거슬러 올라간 항목에 대한 이터레이터를 반환합니다.

QVariant 에 지정된 컨테이너가 양방향 반복을 지원하지 않는 경우, 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

operator+(), operator-=(), QIterable::canReverseIterate()도 참조하십시오 .

QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator--()

-- 연산자(--it)는 앞의 항목을 현재 항목으로 지정하고, 새로운 현재 항목에 대한 이터레이터를 반환합니다.

QMetaSequence::Iterable::constBegin()에서 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

QVariant 에 포함된 컨테이너가 양방향 반복을 지원하지 않는 경우, 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

operator++() 및 QIterable::canReverseIterate()도 참조하십시오 .

QTaggedIterator<Iterator, IteratorCategory> QTaggedIterator::operator--(int x)

포스트픽스 -- 연산자(it--)는 바로 앞의 항목을 현재 항목으로 지정하고, 이전에 현재 항목이었던 항목에 대한 이터레이터를 반환합니다.

QVariant 에 포함된 컨테이너가 양방향 반복을 지원하지 않는 경우, 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

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

QIterable::canReverseIterate()도 참조하십시오 .

QTaggedIterator<Iterator, IteratorCategory> &QTaggedIterator::operator-=(qsizetype j)

이테레이터를 j 개 항목만큼 뒤로 이동시킵니다.

QVariant 에 포함된 컨테이너가 양방향 반복을 지원하지 않는 경우, 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.

operator+=(), operator-(), QIterable::canReverseIterate()도 참조하십시오 .

bool QTaggedIterator::operator==(const QTaggedIterator<Iterator, IteratorCategory> &other) const

other 가 이 반복자와 동일한 항목을 가리키는 경우 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

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

관련 비멤버 함수

QTaggedIterator<Iterator, IteratorCategory> operator+(qsizetype j, const QTaggedIterator<Iterator, IteratorCategory> &k)

iterator k 에서 앞으로 j 위치에 있는 항목에 대한 이터레이터를 반환합니다.

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