QTaggedIterator Class

template <typename Iterator, typename IteratorCategory> class QTaggedIterator

QTaggedIterator ist eine Template-Klasse, die einen Iterator umhüllt und Standard-Iterator-Traits zur Verfügung stellt. Mehr...

Kopfzeile: #include <QTaggedIterator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Seit: Qt 6.0

Öffentliche Funktionen

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)

Detaillierte Beschreibung

Um einen Iterator mit einem der Standardalgorithmen zu verwenden, müssen seine Iterator-Traits bekannt sein. Da QSequentialIterable mit vielen verschiedenen Arten von Containern arbeiten kann, können wir die Traits nicht in den Iterator-Klassen selbst deklarieren. Ein QTaggedIterator gibt Ihnen die Möglichkeit, einen Trait für eine konkrete Instanz eines Iterators oder QConstIterator explizit zu deklarieren.

Dokumentation der Mitgliedsfunktionen

QTaggedIterator::QTaggedIterator(Iterator &&it)

Konstruiert einen QTaggedIterator aus einem Iterator oder QConstIterator it . Überprüft, ob die als Template-Argument übergebene IteratorCategory mit den Laufzeitfähigkeiten von it übereinstimmt; wenn keine Übereinstimmung besteht, wird it abgelehnt.

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

Gibt true zurück, wenn other auf ein anderes Element als diesen Iterator zeigt; andernfalls wird false zurückgegeben.

Siehe auch operator==().

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

Gibt einen Iterator zu dem Element an j Positionen vor diesem Iterator zurück.

Siehe auch operator-() und operator+=().

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

Der Präfix-Operator ++ (++it) bringt den Iterator zum nächsten Element im Container weiter und gibt einen Iterator zum neuen aktuellen Element zurück.

Der Aufruf dieser Funktion auf QSequentialIterable::end() führt zu undefinierten Ergebnissen.

Siehe auch operator--().

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

Dies ist eine überladene Funktion.

Der Postfix-Operator ++ (it++) setzt den Iterator auf das nächste Element im Container und gibt einen Iterator auf das zuvor aktuelle Element zurück.

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

Bringt den Iterator um j Elemente weiter.

Siehe auch operator-=() und operator+().

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

Gibt den Abstand zwischen diesem Iterator und j zurück.

Siehe auch operator+(), operator-=(), und QIterable::canReverseIterate().

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

Gibt einen Iterator zu dem Element an j Positionen rückwärts von diesem Iterator zurück.

Wenn der Container in QVariant keine bidirektionale Iteration unterstützt, führt der Aufruf dieser Funktion zu undefinierten Ergebnissen.

Siehe auch operator+(), operator-=(), und QIterable::canReverseIterate().

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

Der Präfix-Operator -- (--it) macht das vorhergehende Element aktuell und gibt einen Iterator zum neuen aktuellen Element zurück.

Der Aufruf dieser Funktion auf QSequentialIterable::begin() führt zu undefinierten Ergebnissen.

Wenn der Container in QVariant die bidirektionale Iteration nicht unterstützt, führt der Aufruf dieser Funktion zu undefinierten Ergebnissen.

Siehe auch operator++() und QIterable::canReverseIterate().

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

Dies ist eine überladene Funktion.

Der Postfix-Operator -- (it--) macht das vorangehende Element aktuell und gibt einen Iterator zum zuvor aktuellen Element zurück.

Wenn der Container in QVariant keine bidirektionale Iteration unterstützt, führt der Aufruf dieser Funktion zu undefinierten Ergebnissen.

Siehe auch QIterable::canReverseIterate().

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

Lässt den Iterator um j Elemente zurückgehen.

Wenn der Container in QVariant keine bidirektionale Iteration unterstützt, führt der Aufruf dieser Funktion zu undefinierten Ergebnissen.

Siehe auch operator+=(), operator-(), und QIterable::canReverseIterate().

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

Gibt true zurück, wenn other auf dasselbe Element wie dieser Iterator zeigt; andernfalls wird false zurückgegeben.

Siehe auch operator!=().

Verwandte Nicht-Mitglieder

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

Gibt einen Iterator zu dem Element an j Positionen vor dem Iterator k zurück.

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