QtTaskTree::ListIterator Class
template <typename T> class QtTaskTree::ListIteratorL'itérateur de liste à utiliser à l'intérieur de l'é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
| ListIterator(RangeGetter &&rangeGetter) | |
| ListIterator(const QList<T> &list) | |
| const T & | operator*() const |
| const T * | operator->() const |
Description détaillée
Le paramètre de modèle ` T ` spécifie le type d'élément de la liste sur laquelle porte l'itération.
Voir également Iterator, ForeverIterator, RepeatIterator et UntilIterator.
Documentation sur les fonctions membres
[explicit] template <typename RangeGetter, typename RangeType = std::invoke_result_t<std::decay_t<RangeGetter>>> requires if_compatible_range<RangeGetter> ListIterator::ListIterator(RangeGetter &&rangeGetter)
Construit l’itérateur de liste pour la construction « For (ListIterator(rangeGetter)) >> Do {} ». La fonction « rangeGetter » est une fonction appelable sans argument renvoyant une plage contiguë dont l’ value_type est T. La plage renvoyée ne doit pas nécessairement être un « QList<T> ». Tout type de plage contiguë prenant en charge std::data() est accepté — par exemple, un getter renvoyant QString est valide pour ListIterator<QChar>. Le getter est appelé une fois à l’entrée de l’ Group e contenant cet itérateur, avec tous les stockages pertinents et les itérations parentes activés. L’appel peut être ignoré si la méthode onSetupHandler() du Group éventuel a renvoyé une valeur autre que SetupResult::Continue. L’itérateur parcourra chaque élément de la plage renvoyée.
Il s'agit d'un modèle pratique pour parcourir des boucles imbriquées :
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; })
}
}
};Voir également Iterator::iteration(), operator*() et operator->().
[explicit] ListIterator::ListIterator(const QList<T> &list)
Crée l'itérateur de liste pour la construction « For (ListIterator(list)) >> Do {} ». L'itérateur parcourra chaque élément de la liste « list » transmise.
Voir également Iterator::iteration(), operator*() et operator->().
const T &ListIterator::operator*() const
Renvoie une référence à l'élément actuel à l'intérieur du corps d'une instruction `Do`. N'utilisez cette fonction qu'à l'intérieur du corps du gestionnaire de tout élément ` GroupItem ` placé dans le corps ` QtTaskTree::Do ` de la recette ; sinon, vous risquez un plantage. Assurez-vous que ` ListIterator ` est passé à l'élément `For`.
const T *ListIterator::operator->() const
Renvoie un pointeur vers l'élément actuel à l'intérieur du corps d'une instruction « Do ». N'utilisez cette fonction qu'à partir du corps du gestionnaire de n'importe quel élément « GroupItem » placé dans le corps « QtTaskTree::Do » de la recette, sinon un plantage pourrait se produire. Assurez-vous que la variable « ListIterator » est transmise à l'élément « 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.