12#ifndef ARCANE_ITEMLOOP_H
13#define ARCANE_ITEMLOOP_H
17#include "arcane/ItemEnumerator.h"
42template<
typename IterType,
typename Lambda>
inline void
54 lambda(IterType(x0+i));
58 lambda(IterType(iitem.localId()));
65template<
typename ItemType>
69 typedef typename ItemType::Index IterType;
72 typedef ItemLoopFunctor<ItemType> ThatClass;
77 static ThatClass create(
const ItemGroupType& items)
78 {
return ThatClass(items.
view()); }
79 static ThatClass create(VectorViewType items)
80 {
return ThatClass(items); }
82 template<
typename Lambda>
83 void operator<<(Lambda&& lambda)
85 _InternalSimpleItemLoop<IterType>(m_items,lambda);
131#define ENUMERATE_ITEM_LAMBDA(item_type,iter,container) \
132 Arcane::Loop:: ItemLoopFunctor ## item_type :: create ( (container) ) << [=]( Arcane::Loop:: ItemLoopFunctor ## item_type :: IterType iter)
Référence à un groupe d'un genre donné.
ItemVectorView view() const
Vue sur les entités du groupe.
bool isContigous() const
Vrai si les localIds() sont contigüs.
Vue sur un tableau typé d'entités.
Vue sur un vecteur d'entités.
Int32 size() const
Nombre d'éléments du vecteur.
ItemIndexArrayView indexes() const
Vue sur le tableau des indices.
Int32ConstArrayView localIds() const
Tableau des numéros locaux des entités.
Classe template pour encapsuler une boucle sur les entités.
Espace de nom contenant les différentes classes gérant les boucles sur les entités.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.