12#ifndef ARCANE_MATERIALS_ALLCELLTOALLENVCELLCONVERTER_H
13#define ARCANE_MATERIALS_ALLCELLTOALLENVCELLCONVERTER_H
19#include "arcane/core/materials/MatItem.h"
21#include "arcane/core/materials/CellToAllEnvCellConverter.h"
54 friend class CellToAllEnvCellAccessor;
55 friend class CellToAllComponentCellEnumerator;
56 friend AllCellToAllEnvCellContainer;
63 return m_allcell_allenvcell_ptr[cell_id];
85 friend class CellToAllComponentCellEnumerator;
89 using size_type = Span<ComponentItemLocalId>::size_type;
93 CellToAllEnvCellAccessor() =
default;
96 ARCCORE_HOST_DEVICE size_type nbEnvironment(
Int32 cid)
const
98 return m_cell_allenvcell[cid].size();
105 return m_cell_allenvcell;
118 friend class EnumeratorTracer;
122 using index_type = Span<ComponentItemLocalId>::index_type;
123 using size_type = Span<ComponentItemLocalId>::size_type;
131 m_ptr = all_env_view[cell_id];
133 ARCCORE_HOST_DEVICE
void operator++()
138 ARCCORE_HOST_DEVICE
bool hasNext()
const
140 return m_index < m_ptr.size();
143 ARCCORE_HOST_DEVICE ComponentItemLocalId operator*()
const
145 return m_ptr[m_index];
150 index_type m_index = 0;
166#define RUNCOMMAND_ENUMERATE_CELL_ALLENVCELL(cell_to_allenvcellaccessor, iter_name, cell_group) \
167 A_FUNCINFO << cell_group << [=] ARCCORE_HOST_DEVICE(CellLocalId iter_name)
173#define A_ENUMERATE_CELL_ALLCOMPONENTCELL(_EnumeratorClassName, iname, cid, cell_to_allenvcellaccessor) \
174 for (A_TRACE_COMPONENT(_EnumeratorClassName) iname(::Arcane::Materials::_EnumeratorClassName(cid, cell_to_allenvcellaccessor) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname)
189#define ENUMERATE_CELL_ALLENVCELL(iname, cid, cell_to_allenvcellaccessor) \
190 A_ENUMERATE_CELL_ALLCOMPONENTCELL(CellToAllComponentCellEnumerator, iname, cid, cell_to_allenvcellaccessor)
Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateu...
Classe d'encapsulation pour accéder à la connectivité équivalente cell -> allenvcell....
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Vue d'un tableau d'éléments de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
MATERIALS_BEGIN_NAMESPACE class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
Indexeur SIMD sur un composant.
std::int32_t Int32
Type entier signé sur 32 bits.