QTaggedIterator Class
template <typename Iterator, typename IteratorCategory> class QTaggedIteratorQTaggedIterator 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 |
Verwandte Nicht-Mitglieder
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.