En esta página

QtTaskTree::ForeverIterator Class

class QtTaskTree::ForeverIterator

Iterador infinito que se utilizará dentro del elemento For. Más...

Cabecera: #include <qtasktree.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
Desde: Qt 6.11
Hereda: QtTaskTree::Iterator

Nota: Todas las funciones de esta clase son reentrantes.

Funciones Públicas

Descripción Detallada

Véase también Iterator, RepeatIterator, UntilIterator, y ListIterator.

Documentación de las funciones miembro

ForeverIterator::ForeverIterator()

Construye un iterador sin fin para la construcción For (ForeverIterator()) >> Do {}.

Nota: Tenga mucho cuidado si su cuerpo Do especifica modo paralelo - en este caso el QTaskTree puede instanciar un número infinito de tareas.

Ejemplo de uso:

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

const auto onNumberCheck = [luckyNumber] { const int drawnNumber = QRandomGenerator().global()->bounded(maxNúmero);    qDebug() << "You have drawn:" << drawnNumber;
   bool won = número extraído == número de la suerte; if (won)        qDebug() << "You have won! Congratulations!";
   return won; };const Group recipe = For (ForeverIterator())>> Do { stopOnSuccess,timeoutTask(1s),    QSyncTask(onNumberCheck) };

La posible salida cuando el recipe es iniciado por el QTaskTree:

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.