このページでは

QtTaskTree::ListIterator Class

template <typename T> class QtTaskTree::ListIterator

For要素内で使用するリストイテレータ。詳細...

ヘッダー: #include <qtasktree.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
以下のように: Qt 6.11
継承元: QtTaskTree::Iterator
ステータス: テクノロジープレビュー

このクラスはテクノロジープレビュー段階にあり、変更される可能性があります。

注:このクラスのすべての関数は再入可能です。

パブリック関数

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

詳細な説明

テンプレート パラメータ `T ` は、反復処理の対象となるリストの要素型を指定します。

関連項目: Iterator 、ForeverIterator 、RepeatIterator 、およびUntilIterator 。

メンバ関数のドキュメント

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

For (ListIterator(rangeGetter)) >> Do {} 構文用のリストイテレータを構築します。rangeGetter は、引数を持たず、value_type がT である連続した範囲を返す呼び出し可能オブジェクトです。返される範囲は、QList<T>である必要はありません。std::data() をサポートする任意の連続した範囲型が受け入れられます。たとえば、QString を返すゲッターは、ListIterator<QChar> に対して有効です。 このイテレータを含むGroup に入るときに、関連するすべてのストレージおよび親の反復処理が有効化された状態で、ゲッターが一度呼び出されます。候補となるGroupのonSetupHandler()がSetupResult::Continue 以外の値を返した場合、この呼び出しはスキップされる可能性があります。イテレータは、返された範囲の各要素を順に反復処理します。

これは、ネストされたループを反復処理するための便利なパターンです:

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; })
        }
    }
};

Iterator::iteration()、operator*()、およびoperator->()も参照してください 。

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

For (ListIterator(list)) >> Do {} 構文用のリストイテレータを構築します。このイテレータは、渡されたlist の各要素を順に処理します。

Iterator::iteration()、operator*()、およびoperator->()も参照してください 。

const T &ListIterator::operator*() const

Do本体の現在の要素への参照を返します。この関数は、レシピのQtTaskTree::Do 本体内に配置されたGroupItem 要素のハンドラ本体内からのみ使用してください。そうしないと、クラッシュする可能性があります。For要素には必ずListIterator が渡されていることを確認してください。

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

Do本体の現在の要素へのポインタを返します。この関数は、レシピのQtTaskTree::Do 本体内に配置されたGroupItem 要素のハンドラ本体内からのみ使用してください。そうしないと、クラッシュする可能性があります。ListIterator がFor要素に渡されていることを確認してください。

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