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;
Classe de base d'une table de hachage entre les items d'un groupe et leurs positions dans la table.
Interface d'une variable.
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.
Caractéristiques des éléments du maillage.
Classe de base d'un élément de maillage.
constexpr Int32 localId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
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.
Enregistreur d'une fabrique de variables.
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.