12#ifndef ARCANE_CORE_ITEMPAIRENUMERATOR_H 
   13#define ARCANE_CORE_ITEMPAIRENUMERATOR_H 
   17#include "arcane/core/Item.h" 
   37class ARCANE_CORE_EXPORT ItemPairEnumerator
 
   46  ItemPairEnumerator() = 
default;
 
   50  inline void operator++()
 
   54  inline bool hasNext()
 const 
   56    return m_current < m_end;
 
   58  inline Int32 itemLocalId()
 const 
   60    return m_items_local_id[m_current];
 
   62  inline Int32 index()
 const 
   68    return { m_sub_items_shared_info, _ids() };
 
   70  inline Item operator*()
 const 
   72    return Item(m_items_local_id[m_current], m_items_shared_info);
 
   74  inline Integer nbSubItem()
 const 
   76    return static_cast<Int32>(m_indexes[m_current + 1] - m_indexes[m_current]);
 
   89  ItemSharedInfo* m_items_shared_info = ItemSharedInfo::nullInstance();
 
   90  ItemSharedInfo* m_sub_items_shared_info = ItemSharedInfo::nullInstance();
 
   94  Item _currentItem()
 const 
   96    return Item(m_items_local_id[m_current], m_items_shared_info);
 
   98  ConstArrayView<Int32> _ids()
 const 
  100    return ConstArrayView<Int32>(nbSubItem(), m_sub_items_local_id.
data() + m_indexes[m_current]);
 
 
  110template <
typename ItemType>
 
  111class ItemPairEnumeratorSubT
 
  112: 
public ItemPairEnumerator
 
  117  : ItemPairEnumerator(array)
 
  123  inline ItemType operator*()
 const 
  125    return ItemType(this->_currentItem());
 
 
  137template <
typename ItemType, 
typename SubItemType>
 
  138class ItemPairEnumeratorT
 
  139: 
public ItemPairEnumeratorSubT<ItemType>
 
  141  using BaseClass = ItemPairEnumeratorSubT<ItemType>;
 
  146  : ItemPairEnumeratorSubT<ItemType>(array)
 
  152    return { this->m_sub_items_shared_info, this->_ids() };
 
 
Index d'une entité ItemType dans une variable.
 
Index d'un Item dans une variable.
 
Référence à un groupe d'un genre donné.
 
Tableau de listes d'entités.
 
Classe de base d'un élément de maillage.
 
constexpr __host__ __device__ pointer data() const noexcept
Pointeur sur le début de la vue.
 
Vue d'un tableau d'éléments de type T.
 
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 
Int32 Integer
Type représentant un entier.
 
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
 
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
 
std::int32_t Int32
Type entier signé sur 32 bits.