このページでは

QtTaskTree::ForeverIterator Class

class QtTaskTree::ForeverIterator

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

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

詳細説明

IteratorRepeatIteratorUntilIteratorListIteratorも参照のこと

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

ForeverIterator::ForeverIterator()

For (ForeverIterator()) >> Do {} 構造体の終了しないイテレータを構築します。

注意: Do 本体が並列モードを指定している場合は、十分注意してください。この場合、QTaskTree は無限のタスクをインスタンス化する可能性があります。

使用例:

static const intmaxNumber= 10;const intluckyNumber=QRandomGenerator().global()->bounded(maxNumber);
qDebug() << "Today's lucky number is:" << luckyNumber;
qDebug() << "Let's start the drawing...";

const autoonNumberCheck= [luckyNumber]{const intdrawnNumber=QRandomGenerator().global()->bounded(maxNumber);    qDebug() << "You have drawn:" << drawnNumber;
   boolwon=drawnNumber==luckyNumber;if(won)        qDebug() << "You have won! Congratulations!";
   returnwon; };constGroup recipe=For (ForeverIterator())>>Do { stopOnSuccess,timeoutTask(1s)QSyncTask(onNumberCheck) };

recipeQTaskTree によって起動されたときに可能な出力:

Today's lucky number is: 8
Let's start the drawing...
You have drawn: 2
You have drawn: 2
You have drawn: 6
You have drawn: 7
You have drawn: 9
You have drawn: 8
You have won! Congratulations!

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