12#ifndef ARCANE_MATERIALS_INTERNAL_COMPONENTITEMLISTBUILDER_H
13#define ARCANE_MATERIALS_INTERNAL_COMPONENTITEMLISTBUILDER_H
17#include "arcane/utils/Array.h"
18#include "arcane/utils/NumArray.h"
20#include "arcane/core/materials/MatVarIndex.h"
40 ComponentItemListBuilder();
44 void preAllocate(
Int32 nb_item)
46 m_partial_local_ids.resize(nb_item);
47 m_pure_indexes.resize(nb_item);
48 m_partial_indexes.resize(nb_item);
53 m_partial_local_ids.resize(nb_partial);
54 m_pure_indexes.resize(nb_pure);
55 m_partial_indexes.resize(nb_partial);
91 Integer begin_index_in_partial);
98 m_pure_matvar_indexes.add(
MatVarIndex(0, local_id));
106 m_partial_matvar_indexes.add(
MatVarIndex(m_component_index, m_index_in_partial));
107 m_partial_local_ids.add(local_id);
108 ++m_index_in_partial;
115 ConstArrayView<Int32> partialLocalIds()
const {
return m_partial_local_ids; }
116 MeshMaterialVariableIndexer* indexer()
const {
return m_indexer; }
120 Integer m_component_index = -1;
121 Integer m_index_in_partial = -1;
123 UniqueArray<MatVarIndex> m_pure_matvar_indexes;
125 UniqueArray<MatVarIndex> m_partial_matvar_indexes;
126 UniqueArray<Int32> m_partial_local_ids;
128 MeshMaterialVariableIndexer* m_indexer =
nullptr;
Vue constante d'un tableau de type T.
void addPureItem(Int32 local_id)
Ajoute l'entité de localId() local_id à la liste des entités pure.
void addPartialItem(Int32 local_id)
Ajoute l'entité de localId() local_id à la liste des entités partielles.
Représente un index sur les variables matériaux et milieux.
Indexer pour les variables materiaux.
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
Vue d'un tableau d'éléments de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
Int32 Integer
Type représentant un entier.
MATERIALS_BEGIN_NAMESPACE class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
Indexeur SIMD sur un composant.
std::int32_t Int32
Type entier signé sur 32 bits.