12#ifndef ARCANE_CORE_ITEMLOCALIDLISTVIEW_H
13#define ARCANE_CORE_ITEMLOCALIDLISTVIEW_H
17#include "arcane/core/ItemLocalId.h"
18#include "arcane/core/ItemLocalIdListContainerView.h"
32 class IndexedItemConnectivityAccessor;
46 , m_local_id_offset(local_id_offset)
52 typedef std::random_access_iterator_tag iterator_category;
62 constexpr ARCCORE_HOST_DEVICE Int32 operator*()
const {
return m_local_id_offset + (*m_local_id_ptr); }
64 constexpr ARCCORE_HOST_DEVICE ThatClass& operator++()
69 constexpr ARCCORE_HOST_DEVICE ThatClass& operator--()
74 constexpr ARCCORE_HOST_DEVICE
void operator+=(
difference_type v) { m_local_id_ptr += v; }
75 constexpr ARCCORE_HOST_DEVICE
void operator-=(
difference_type v) { m_local_id_ptr -= v; }
76 constexpr ARCCORE_HOST_DEVICE
difference_type operator-(
const ThatClass& b)
const
78 return this->m_local_id_ptr - b.m_local_id_ptr;
80 constexpr ARCCORE_HOST_DEVICE
friend ThatClass operator-(
const ThatClass& a,
difference_type v)
82 const Int32* ptr = a.m_local_id_ptr - v;
83 return ThatClass(ptr, a.m_local_id_offset);
85 constexpr ARCCORE_HOST_DEVICE
friend ThatClass operator+(
const ThatClass& a,
difference_type v)
87 const Int32* ptr = a.m_local_id_ptr + v;
88 return ThatClass(ptr, a.m_local_id_offset);
90 constexpr ARCCORE_HOST_DEVICE
friend bool operator<(
const ThatClass& lhs,
const ThatClass& rhs)
92 return lhs.m_local_id_ptr <= rhs.m_local_id_ptr;
97 return lhs.m_local_id_ptr ==
rhs.m_local_id_ptr;
99 constexpr ARCCORE_HOST_DEVICE
friend bool operator!=(
const ThatClass&
lhs,
const ThatClass&
rhs)
106 const Int32* m_local_id_ptr;
107 Int32 m_local_id_offset = 0;
115template <
typename ItemType>
131 using value_type = LocalIdType;
135 constexpr ARCCORE_HOST_DEVICE LocalIdType operator*()
const
137 return LocalIdType(m_local_id_offset + (*m_local_id_ptr));
140 constexpr ARCCORE_HOST_DEVICE
ThatClass& operator++()
145 constexpr ARCCORE_HOST_DEVICE
ThatClass& operator--()
152 return this->m_local_id_ptr -
b.m_local_id_ptr;
156 const Int32*
ptr = a.m_local_id_ptr - v;
161 const Int32*
ptr = a.m_local_id_ptr + v;
176 using impl::ItemLocalIdListContainerView::m_size;
177 using impl::ItemLocalIdListContainerView::localId;
186 constexpr ARCCORE_HOST_DEVICE
ItemLocalIdListView(
const Int32* ids, Int32 s, Int32 local_id_offset)
195 constexpr ARCCORE_HOST_DEVICE
ItemLocalId operator[](Int32 index)
const
199 constexpr ARCCORE_HOST_DEVICE Int32 size()
const {
return m_size; }
207 return !operator==(
lhs,
rhs);
226template <
typename ItemType>
249 constexpr ARCCORE_HOST_DEVICE
ItemLocalIdListViewT(
const Int32* ids, Int32 s, Int32 local_id_offset)
258 constexpr ARCCORE_HOST_DEVICE LocalIdType operator[](Int32 i)
const {
return LocalIdType(localId(i)); }
266 return endIterator();
Vues sur les conteneurs contenant les connectivités. Cette classe permet de rendre opaque en dehors d...
Informations de connectivité, pour une famille d'entité, permettant la transition entre les anciennes...
Itérateur pour ItemLocalIdViewT.
Classe de base des itérateurs pour ItemLocalIdViewT.
Int32 value_type
Type indexant le tableau.
Int32 size_type
Type de la taille.
constexpr ARCCORE_HOST_DEVICE friend bool operator==(const ThatClass &lhs, const ThatClass &rhs)
Compare les indices d'itération de deux instances.
std::ptrdiff_t difference_type
Type d'une distance entre itérateur éléments du tableau.
Vue typée sur une liste d'entités d'une connectivité.
Vue sur une liste de ItemLocalId.
typename ItemTraitsT< ItemType >::LocalIdType LocalIdType
Type du localId()
Index d'un Item dans une variable.
Vue sur un vecteur d'entités.
Classe de base d'un élément de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue sur le conteneur d'une liste de ItemLocalId.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-