12#ifndef ARCANE_ITEMFUNCTOR_H
13#define ARCANE_ITEMFUNCTOR_H
17#include "arcane/utils/RangeFunctor.h"
18#include "arcane/utils/Functor.h"
20#include "arcane/core/Item.h"
21#include "arcane/core/ItemVectorView.h"
45 static const Integer DEFAULT_GRAIN_SIZE = 400;
52 Int32
nbBlock()
const {
return m_nb_block; }
60 Int32 m_block_size = 0;
62 Int32 m_block_grain_size = 0;
76template<
typename InstanceType,
typename ItemType>
86 FunctionType function,Integer
grain_size = DEFAULT_GRAIN_SIZE)
94 InstanceType* m_instance;
95 FunctionType m_function;
99 virtual void executeFunctor(Int32 begin, Int32 size)
105 (m_instance->*m_function)(
sub_view);
116template<
typename LambdaType>
129 void executeFunctor(Int32 begin, Int32 size)
override
137 if constexpr (std::is_invocable_v<LambdaType, ItemVectorView>)
Classe de base des fonctors sur une liste d'entités.
Int32 nbBlock() const
Nombre de blocs.
Int32 blockGrainSize() const
Taille souhaitée d'un intervalle d'itération.
Interface d'un fonctor sur un interval d'itération.
Fonctor pour le calcul des éléments d'un groupe.
Implémentation d'un groupe d'entités de maillage.
Fonctor pour itérer sur une liste d'entités.
Vue sur un vecteur d'entités.
Fonctor sur un interval d'itération instancié via une lambda fonction.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-