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>
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"));
90 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
91 ARCANE_ASSERT((m_table.isUsed()),(
"GroupIndexTable expired"));
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>
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;
Iterateur sur les éléments d'un groupe.
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.
Référence à une instance.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.