89 : m_view(local_ids, n, 0)
90 , m_group_impl(agroup)
94 : m_view(local_ids, 0)
95 , m_group_impl(
nullptr)
99 : m_view(local_ids, 0)
100 , m_group_impl(agroup)
104 : m_view(view.
localIds(), view.m_local_id_offset)
105 , m_group_impl(agroup)
108 : m_view(rhs.
localIds(), rhs._localIdOffset())
111 : m_view(rhs._localIds(), rhs._localIdOffset())
120 constexpr bool operator()() {
return m_index < m_view.m_size; }
123 constexpr bool hasNext() {
return m_index < m_view.m_size; }
126 constexpr Integer
count()
const {
return m_view.m_size; }
129 constexpr Integer
index()
const {
return m_index; }
135 Int32
localId()
const {
return m_view.localId(m_index); }
141 ARCANE_DEPRECATED_REASON(
"Y2022: This method is internal to Arcane")
142 constexpr const Int32* unguardedLocalIds()
const {
return m_view.m_local_ids; }
151 static constexpr int version() {
return 3; }
155 impl::ItemLocalIdListContainerView m_view;
157 const ItemGroupImpl* m_group_impl =
nullptr;
162 ItemEnumeratorBase(
const ItemEnumerator& rhs,
bool);
164 ItemEnumeratorBase(
const impl::ItemLocalIdListContainerView& view, Int32
index,
const ItemGroupImpl* agroup)
167 , m_group_impl(agroup)
171 explicit ItemEnumeratorBase(
const impl::ItemLocalIdListContainerView& view)
176 ItemInternal* _internal(ItemSharedInfo* si)
const
178 return si->m_items_internal[m_view.localId(m_index)];
180 constexpr const ItemInternalPtr* _unguardedItems(ItemSharedInfo* si)
const
182 return si->m_items_internal.data();
205 using LocalIdType =
typename ItemType::LocalIdType;
212 , m_item(NULL_ITEM_LOCAL_ID, ItemSharedInfo::nullInstance())
217 , m_item(NULL_ITEM_LOCAL_ID, shared_info)
222 , m_item(NULL_ITEM_LOCAL_ID, items.m_item_shared_info)
226 , m_item(NULL_ITEM_LOCAL_ID, view.m_shared_info)
242 , m_item(NULL_ITEM_LOCAL_ID, rhs.m_shared_info)
247 , m_item(NULL_ITEM_LOCAL_ID, si)
275 ARCANE_DEPRECATED_REASON(
"Y2022: This method is internal to Arcane")
276 constexpr const ItemInternalPtr* unguardedItems()
const {
return _unguardedItems(m_item.m_shared_info); }
282 ARCANE_DEPRECATED_REASON(
"Y2022: This method is internal to Arcane")
283 constexpr ItemInternal* internal()
const {
return _internal(m_item.m_shared_info); }
287 constexpr ItemType operator*()
const
289 m_item.m_local_id = m_view.localId(m_index);
292 constexpr const ItemType* operator->()
const
294 m_item.m_local_id = m_view.localId(m_index);
298 constexpr LocalIdType asItemLocalId()
const
300 return LocalIdType{ m_view.localId(m_index) };
303 constexpr operator LocalIdType()
const
305 return LocalIdType{ m_view.localId(m_index) };
312 impl::ItemBase _internalItemBase()
const {
return m_item.itemBase(); }
316 mutable ItemType m_item = ItemType(NULL_ITEM_LOCAL_ID,
nullptr);
332 m_item.m_shared_info = ItemInternalCompatibility::_getSharedInfo(items,
count());