12#ifndef ARCANE_CORE_MESHPARTIALVARIABLEARRAYREF_H
13#define ARCANE_CORE_MESHPARTIALVARIABLEARRAYREF_H
17#include "arcane/utils/FatalErrorException.h"
19#include "arcane/core/MeshVariableRef.h"
20#include "arcane/core/PrivateVariableArray.h"
22#include "arcane/core/ItemGroupRangeIterator.h"
23#include "arcane/core/ItemPairEnumerator.h"
24#include "arcane/core/GroupIndexTable.h"
38template<
typename DataTypeT>
44 typedef DataTypeT DataType;
52 typedef typename BaseClass::PrivatePartType PrivatePartType;
75 ARCANE_CORE_EXPORT
void fill(
const DataType& value);
77 ARCANE_CORE_EXPORT
void internalSetUsed(
bool v);
83 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
84 ARCANE_ASSERT((m_table.isUsed()),(
"GroupIndexTable expired"));
86 return this->m_view[table[i.
localId()]];
90 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
91 ARCANE_ASSERT((m_table.isUsed()),(
"GroupIndexTable expired"));
93 return this->m_view[table[i.
localId()]];
97 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
98 return this->m_view[i.index()];
102 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
103 return this->m_view[i.index()];
107 ARCANE_CHECK_ENUMERATOR(i,this->itemGroup());
108 return this->m_view[i.
index()];
112 ARCANE_CHECK_ENUMERATOR(i,this->itemGroup());
113 return this->m_view[i.
index()];
117 return this->m_view[i.index()];
121 return this->m_view[i.index()];
145template<
typename ItemTypeT,
typename DataTypeT>
151 typedef DataTypeT DataType;
152 typedef ItemTypeT ItemType;
181 ARCANE_ASSERT((this->m_table.isUsed()),(
"GroupIndexTable expired"));
183 return this->m_view[table[i.localId()]];
187 ARCANE_ASSERT((this->m_table.isUsed()),(
"GroupIndexTable expired"));
189 return this->m_view[table[i.localId()]];
193 return this->m_view[i.index()];
197 return this->m_view[i.index()];
201 return this->m_view[i.index()];
205 return this->m_view[i.index()];
209 ARCANE_CHECK_ENUMERATOR(i,this->
itemGroup());
210 return this->m_view[i.
index()];
214 ARCANE_CHECK_ENUMERATOR(i,this->
itemGroup());
215 return this->m_view[i.
index()];
219 return this->m_view[i.index()];
223 return this->m_view[i.index()];
227 ARCANE_CORE_EXPORT GroupType
itemGroup()
const;
Intervalle d'itération sur un groupe d'entités de maillage.
Iterateur sur les éléments d'un groupe.
Enumérateur sur un tableau de tableaux d'entités du maillage de genre ItemType et SubItemType.
Variable partielle scalaire sur un type d'entité du maillage.
GroupIndexTableView tableView() const
Vue sur table d'indirection du groupe.
void operator=(const ItemPartialVariableArrayRefT< DataType > &rhs)
Opérateur de recopie.
Classe de base d'un élément de maillage.
constexpr Int32 localId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Variable scalaire sur un type d'entité du maillage.
void refersTo(const MeshPartialVariableArrayRefT< ItemType, DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
GroupType itemGroup() const
Groupe associé à la grandeur.
Classe de factorisation des variables scalaires sur des entités du maillage.
Paramètres nécessaires à la construction d'une variable.
Infos caractérisant une variable.
Référence à une variable.
Informations caractérisant le type d'une variable.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Vecteur de données 2D avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.