Auf dieser Seite

QtTaskTree::ListIterator Class

template <typename T> class QtTaskTree::ListIterator

Der Listen-Iterator, der innerhalb des „For“-Elements verwendet werden soll. Mehr...

Header: #include <qtasktree.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
Seit: Qt 6.11
Erbt von: QtTaskTree::Iterator
Status: Technologievorschau

Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Funktionen

ListIterator(RangeGetter &&rangeGetter)
ListIterator(const QList<T> &list)
const T &operator*() const
const T *operator->() const

Ausführliche Beschreibung

Der Vorlagenparameter „ T “ gibt den Elementtyp der Liste an, über die iteriert wird.

Siehe auch „ Iterator“ , „ ForeverIterator “, „ RepeatIterator “ und „ UntilIterator “.

Dokumentation zu Mitgliedsfunktionen

[explicit] template <typename RangeGetter, typename RangeType = std::invoke_result_t<std::decay_t<RangeGetter>>> requires if_compatible_range<RangeGetter> ListIterator::ListIterator(RangeGetter &&rangeGetter)

Erstellt den Listen-Iterator für das Konstrukt „ For (ListIterator(rangeGetter)) >> Do {} “. Der „ rangeGetter “ ist ein aufrufbares Objekt ohne Argumente, das einen zusammenhängenden Bereich zurückgibt, dessen „ value_type “ „ T “ ist. Der zurückgegebene Bereich muss kein „ QList<T>“ sein. Jeder zusammenhängende Bereichstyp, der „ std::data() “ unterstützt, wird akzeptiert – beispielsweise ist ein Getter, der „ QString “ zurückgibt, gültig für „ ListIterator<QChar> “. Der Getter wird einmal aufgerufen, wenn die „ Group “, die diesen Iterator enthält, betreten wird, wobei alle relevanten Speicher und übergeordneten Iterationen aktiviert sind. Der Aufruf kann übersprungen werden, wenn die mögliche „onSetupHandler()“-Methode der Gruppe einen anderen Wert als „ SetupResult::Continue “ zurückgegeben hat. Der Iterator durchläuft jedes Element des zurückgegebenen Bereichs.

Dies ist ein praktisches Muster zum Durchlaufen verschachtelter Schleifen:

const ListIterator outer(QStringList{"12", "34"});
const ListIterator inner([outer] { return *outer; });

const Group recipe {
    For (outer) >> Do {
        For (inner) >> Do {
            QSyncTask([inner] { qDebug() << *inner; })
        }
    }
};

Siehe auch ` Iterator::iteration()`, ` operator*()` und ` operator->()`.

[explicit] ListIterator::ListIterator(const QList<T> &list)

Erstellt den Listen-Iterator für die Konstruktion „ For (ListIterator(list)) >> Do {} “. Der Iterator durchläuft jedes Element aus dem übergebenen „ list “.

Siehe auch „ Iterator::iteration()“, „ operator*()“ und „ operator->()“.

const T &ListIterator::operator*() const

Gibt eine Referenz auf das aktuelle Element innerhalb eines „Do“-Körpers zurück. Verwenden Sie diese Funktion ausschließlich innerhalb des Handler-Körpers eines beliebigen „ GroupItem “-Elements, das im „ QtTaskTree::Do “-Körper des Rezepts platziert ist; andernfalls kann es zu einem Absturz kommen. Stellen Sie sicher, dass „ ListIterator “ an das „For“-Element übergeben wird.

const T *ListIterator::operator->() const

Gibt einen Zeiger auf das aktuelle Element innerhalb eines „Do“-Körpers zurück. Verwenden Sie diese Funktion ausschließlich innerhalb des Handler-Körpers eines beliebigen „ GroupItem “-Elements, das im „ QtTaskTree::Do “-Körper des Rezepts platziert ist; andernfalls kann es zu einem Absturz kommen. Stellen Sie sicher, dass „ ListIterator “ an das „For“-Element übergeben wird.

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