12#ifndef ARCANE_MATERIALS_INTERNAL_CONSTITUENTITEMVECTORIMPL_H
13#define ARCANE_MATERIALS_INTERNAL_CONSTITUENTITEMVECTORIMPL_H
19#include "arcane/utils/TraceAccessor.h"
20#include "arcane/utils/Functor.h"
22#include "arcane/core/materials/ComponentItemVector.h"
23#include "arcane/core/materials/internal/ConstituentItemLocalIdList.h"
25#include "arcane/materials/internal/MeshComponentPartData.h"
40class ConstituentItemVectorImpl
44 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS();
53 ConstituentItemVectorImpl(
const ConstituentItemVectorImpl& rhs) =
delete;
54 ConstituentItemVectorImpl(ConstituentItemVectorImpl&& rhs) =
delete;
55 ConstituentItemVectorImpl& operator=(
const ConstituentItemVectorImpl& rhs) =
delete;
62 return m_part_data->pureView();
67 return m_part_data->impureView();
71 IMeshComponent* _component()
const override {
return m_component; }
74 return m_constituent_list->view();
78 return m_matvar_indexes;
91 void _recomputePartData();
99 std::unique_ptr<MeshComponentPartData> m_part_data;
100 std::unique_ptr<ConstituentItemLocalIdList> m_constituent_list;
101 ComponentItemSharedInfo* m_component_shared_info =
nullptr;
107 Int32 m_nb_impure = 0;
File d'exécution pour un accélérateur.
Vue constante d'un tableau de type T.
Functor associé à une méthode d'une classe T.
Vue sur la partie impure d'un composant.
Vue sur un vecteur sur les entités d'un composant.
Vue sur la partie pure d'un composant.
Vue sur une instance de ConstituentItemLocalIdList.
Helper pour positionner les entités du vecteur.
void _computeNbPureAndImpureLegacy(SmallSpan< const Int32 > local_ids)
Calcul du nombre de mailles pures et impures sans API accélérateur.
void _setItems(SmallSpan< const Int32 > local_ids) override
Positionne les entités du vecteur.
Interface pour l'implémentation de ComponentItemVector.
Interface d'un composant (matériau ou milieu) d'un maillage.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Implémentation thread-safe d'un compteur de référence.
Vue d'un tableau d'éléments de type T.
Vecteur 1D de données avec sémantique par valeur (style STL).
Active toujours les traces dans les parties Arcane concernant les matériaux.
std::int32_t Int32
Type entier signé sur 32 bits.