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"
41class ConstituentItemVectorImpl
54 ConstituentItemVectorImpl(
const ConstituentItemVectorImpl& rhs) =
delete;
55 ConstituentItemVectorImpl(ConstituentItemVectorImpl&& rhs) =
delete;
56 ConstituentItemVectorImpl& operator=(
const ConstituentItemVectorImpl& rhs) =
delete;
63 return m_part_data->pureView();
68 return m_part_data->impureView();
72 IMeshComponent* _component()
const override {
return m_component; }
75 return m_constituent_list->view();
79 return m_matvar_indexes;
92 void _recomputePartData();
100 std::unique_ptr<MeshComponentPartData> m_part_data;
101 std::unique_ptr<ConstituentItemLocalIdList> m_constituent_list;
102 ComponentItemSharedInfo* m_component_shared_info =
nullptr;
108 Int32 m_nb_impure = 0;
#define ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro to define methods managing counters of references.
Execution queue for an accelerator.
Constant view of an array of type T.
Functor associated with a method of a class T.
View over the impure part of a component.
View over a vector of entities of a component.
View over the pure part of a component.
View of a ConstituentItemLocalIdList instance.
Helper for positioning vector entities.
void _computeNbPureAndImpureLegacy(SmallSpan< const Int32 > local_ids)
Calculates the number of pure and impure cells without the accelerator API.
void _setItems(SmallSpan< const Int32 > local_ids) override
Positions the vector entities.
Interface for the implementation of ComponentItemVector.
Interface of a component (material or environment) of a mesh.
Interface for the material and environment manager of a mesh.
Thread-safe implementation of a reference counter.
View of an array of elements of type T.
1D data vector with value semantics (STL style).
Always enables tracing in Arcane parts concerning materials.
std::int32_t Int32
Signed integer type of 32 bits.