QtTaskTree::ForeverIterator Class
class QtTaskTree::ForeverIteratorItérateur infini à utiliser à l'intérieur d'un élément « For ». En savoir plus...
| En-tête : | #include <qtasktree.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake : | QT += tasktree |
| Depuis : | Qt 6.11 |
| Hérite de : | QtTaskTree::Iterator |
| Statut : | Aperçu technologique |
Cette classe est en avant-première technologique et est susceptible d'être modifiée.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
Voir également Iterator, RepeatIterator, UntilIterator et ListIterator.
Documentation sur les fonctions membres
ForeverIterator::ForeverIterator()
Crée un itérateur sans fin pour la construction « For (ForeverIterator()) >> Do {} ».
Remarque : soyez très prudent si le corps de votre instruction `Do` spécifie le mode parallèle ; dans ce cas, l'QTaskTree e peut instancier un nombre infini de tâches.
Exemple d'utilisation :
static const int maxNumber = 10;
const int luckyNumber = QRandomGenerator().global()->bounded(maxNumber);
qDebug() << "Today's lucky number is:" << luckyNumber;
qDebug() << "Let's start the drawing...";
const auto onNumberCheck = [luckyNumber] {
const int drawnNumber = QRandomGenerator().global()->bounded(maxNumber);
qDebug() << "You have drawn:" << drawnNumber;
bool aGagné = nombreTiré== nombreChanceux;
if (aGagné)
qDebug() << "You have won! Congratulations!";
return won;
};
const Group recipe = For (ForeverIterator()) >> Do {
stopOnSuccess,
timeoutTask(1s),
QSyncTask(onNumberCheck)
};Résultat possible lorsque l'recipe est lancé par l'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.