12#ifndef ARCANE_ITEMLOOP_H
13#define ARCANE_ITEMLOOP_H
17#include "arcane/ItemEnumerator.h"
42template<
typename IterType,
typename Lambda>
inline void
53 for( Int32 i=0, n=view.
size(); i<n; ++i )
54 lambda(IterType(x0+i));
58 lambda(IterType(iitem.localId()));
65template<
typename ItemType>
69 typedef typename ItemType::Index IterType;
78 {
return ThatClass(items.
view()); }
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-