Types et macros pour gérer les boucles sur les entités du maillage. Plus de détails...
#include "arcane/core/ItemEnumerator.h"
Graphe des dépendances par inclusion de ItemLoop.h:Aller au code source de ce fichier.
Classes | |
| class | Arcane::Loop::ItemLoopFunctor< ItemType > |
| Classe template pour encapsuler une boucle sur les entités. Plus de détails... | |
Espaces de nommage | |
| namespace | Arcane |
| -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
| namespace | Arcane::Loop |
| Espace de nom contenant les différentes classes gérant les boucles sur les entités. | |
Macros | |
| #define | ENUMERATE_ITEM_LAMBDA(item_type, iter, container) |
| Enumérateur sur une entité via une fonction lambda. | |
Définitions de type | |
| typedef ItemLoopFunctor< Cell > | Arcane::Loop::ItemLoopFunctorCell |
| typedef ItemLoopFunctor< Node > | Arcane::Loop::ItemLoopFunctorNode |
Fonctions | |
| template<typename IterType, typename Lambda> | |
| void | Arcane::Loop::_InternalSimpleItemLoop (ItemVectorView view, const Lambda &lambda) |
| Fonctor de boucle d'entité permettant de supprimer les indirections si les indices locaux de view sont consécutifs. | |
Types et macros pour gérer les boucles sur les entités du maillage.
Définition dans le fichier ItemLoop.h.
| #define ENUMERATE_ITEM_LAMBDA | ( | item_type, | |
| iter, | |||
| container ) |
Enumérateur sur une entité via une fonction lambda.
| item_type | type de l'entité (Arcane::Node, Arcane::Cell, Arcane::Edge, ....) |
| iter | nom de l'itérateur |
| container | conteneur associé (de type Arcane::ItemGroup ou Arcane::ItemVectorView). |
Cette macro génère une lambda et il faut donc terminer l'expression par un ';'.
Par exemple, pour itérer sur toutes les mailles:
L'itérateur est de type item_type :: Index (par exemple Cell::Index pour une maille). Il ne dispose donc pas des méthodes classiques sur les entités (comme par exemple Arcane::Cell::nbNode()). L'itérateur permet uniquement d'accéder aux valeurs des variables.
La lambda est déclarée avec [=] et il est donc interdit de modifier les variables capturées.
Définition à la ligne 131 du fichier ItemLoop.h.