12#ifndef ARCANE_CORE_MESHPARTIALVARIABLESCALARREF_H
13#define ARCANE_CORE_MESHPARTIALVARIABLESCALARREF_H
17#include "arcane/utils/FatalErrorException.h"
19#include "arcane/core/MeshVariableRef.h"
20#include "arcane/core/PrivateVariableScalar.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;
53 typedef typename BaseClass::DataTypeReturnReference DataTypeReturnReference;
71 ARCANE_CORE_EXPORT
void fill(
const DataType& value);
73 ARCANE_CORE_EXPORT
void internalSetUsed(
bool v);
79 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
80 ARCANE_ASSERT((m_table.isUsed()),(
"GroupIndexTable expired"));
84 DataTypeReturnReference operator[](
const Item& i)
86 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
87 ARCANE_ASSERT((m_table.isUsed()),(
"GroupIndexTable expired"));
94 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
95 return this->_value(i.index());
99 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND((*i));
100 ARCANE_CHECK_ENUMERATOR(i,this->itemGroup());
101 return this->_value(i.
index());
105 return this->_value(i.index());
109 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND((*i));
110 return this->_value(i.index());
115 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND(i);
116 return this->_value(i.index());
120 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND((*i));
121 ARCANE_CHECK_ENUMERATOR(i,this->itemGroup());
122 return this->_value(i.
index());
126 return this->_value(i.index());
130 ARCANE_CHECK_VALID_ITEM_AND_GROUP_KIND((*i));
131 return this->_value(i.index());
155template<
typename ItemTypeT,
typename DataTypeT>
172 typedef typename BaseClass::DataTypeReturnReference DataTypeReturnReference;
187 ARCANE_ASSERT((this->m_table.isUsed()),(
"GroupIndexTable expired"));
189 return this->_value(
table[i.localId()]);
191 DataTypeReturnReference operator[](
const ItemType& i)
193 ARCANE_ASSERT((this->m_table.isUsed()),(
"GroupIndexTable expired"));
195 return this->_value(
table[i.localId()]);
200 return this->_value(i.index());
204 return this->_value(i.index());
208 ARCANE_CHECK_ENUMERATOR(i,this->
itemGroup());
209 return this->_value(i.index());
213 return this->_value(i.index());
217 ARCANE_CHECK_ENUMERATOR(i,this->
itemGroup());
218 return this->_value(i.index());
222 return this->_value(i.index());
226 return this->_value(i.index());
230 return this->_value(i.index());
234 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.
Enumérateur sur un tableau de tableaux d'entités du maillage.
Variable partielle scalaire sur un type d'entité du maillage.
GroupIndexTableView tableView() const
Vue sur table d'indirection du groupe.
void operator=(const ItemPartialVariableScalarRefT< 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 MeshPartialVariableScalarRefT< 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.
Vecteur 1D de données 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.