50 friend mesh::IncrementalItemConnectivityBase;
51 template <
typename ItemType1,
typename ItemType2>
60 : m_list_data(_list.
data())
61 , m_indexes(_indexes.
data())
62 , m_nb_connected_items(_nb_connected_item.
data())
63 , m_list_data_size(_list.
size())
64 , m_nb_item(_nb_connected_item.
size())
67 _checkSize( _indexes.
size(), _nb_connected_item.
size());
83 template <
typename ItemType>
constexpr ARCCORE_HOST_DEVICE
87 ARCANE_CHECK_AT(lid.localId(), m_nb_item);
88 Int32 x = m_indexes[lid];
89 ARCANE_CHECK_AT(x, m_list_data_size);
90 auto* p = &m_list_data[x];
92 return { p, m_nb_connected_items[lid], 0 };
96 template <
typename ItemLocalIdType>
constexpr ARCCORE_HOST_DEVICE
100 ARCANE_CHECK_AT(lid.localId(), m_nb_item);
101 Int32 x = m_indexes[lid] + index;
102 ARCANE_CHECK_AT(x, m_list_data_size);
103 return ItemLocalIdType(m_list_data[x]);
108 indexes()
const {
return { m_indexes, m_nb_item }; }
112 nbConnectedItems()
const {
return { m_nb_connected_items,m_nb_item }; }
115 constexpr ARCCORE_HOST_DEVICE Int32 nbItem()
const {
return m_nb_item; }
119 const Int32* m_list_data =
nullptr;
120 const Int32* m_indexes =
nullptr;
121 const Int32* m_nb_connected_items =
nullptr;
122 Int32 m_list_data_size = 0;
127 void _checkSize(Int32 indexes_size, Int32 nb_connected_item_size);