14#include "arcane/core/MeshVariableScalarRef.h"
16#include "arcane/core/ItemGroup.h"
17#include "arcane/core/VariableScalar.h"
18#include "arcane/core/VariableDataTypeTraits.h"
19#include "arcane/core/VariableTypeInfo.h"
20#include "arcane/core/VariableBuildInfo.h"
21#include "arcane/core/VariableInfo.h"
22#include "arcane/core/VariableFactoryRegisterer.h"
23#include "arcane/core/internal/IDataInternal.h"
38 eDataType dt = VariableDataTypeTraitsT<DataType>::type();
51 return VariableInfo(vbi.name(),vbi.itemFamilyName(),vbi.itemGroupName(),vbi.meshName(),vti,sti);
57template<
class DataTypeT>
63 this->_internalInit();
64 if (this->m_private_part->isPartial())
65 ARCANE_FATAL(
"Can not assign a partial variable to a full variable");
72template<
class DataTypeT>
77 this->_internalInit();
78 if (this->m_private_part->isPartial())
79 ARCANE_FATAL(
"Can not assign a partial variable to a full variable");
85template<
class DataTypeT>
95template<
class DataTypeT>
void
97fill(
const DataTypeT& v)
99 this->m_private_part->fill(v,this->m_private_part->itemGroup());
105template<
class DataTypeT>
void
117template<
typename DataTypeT>
void
129template<
typename DataTypeT>
void
137 impl::copyContiguousData(this->m_private_part->data(), v.m_private_part->
data(), *queue);
143template<
class DataTypeT>
void
151 impl::fillContiguousData<DataTypeT>(this->m_private_part->data(), v, *queue);
157template<
class DataTypeT>
void
161 BaseClass::operator=(rhs);
162 this->m_private_part = rhs.m_private_part;
179template<
typename ItemType,
typename DataType>
VariableInfo
199template<
class ItemType,
class DataType>
200VariableRef* MeshVariableScalarRefT<ItemType,DataType>::
201_autoCreate(
const VariableBuildInfo& vb)
203 return new ThatClass(vb);
209template<
class ItemType,
class DataTypeT>
219template<
class ItemType,
class DataTypeT>
229template<
class ItemType,
class DataTypeT>
244template<
class ItemType,
class DataTypeT>
void
254template<
class ItemType,
class DataTypeT>
255typename Arcane::MeshVariableScalarRefT<ItemType, DataTypeT>::GroupType
259 return GroupType(BaseClass::itemGroup());
265template<
class ItemType,
class DataTypeT>
void
269 this->m_private_part->setIsSynchronized(group);
275template<
class ItemType,
class DataTypeT>
void
276MeshVariableScalarRefT<ItemType,DataTypeT>::
279 this->m_private_part->setIsSynchronized();
292template<
class ItemType,
class DataTypeT>
void
296 this->m_private_part->swapValues(*(rhs.m_private_part));
302#define ARCANE_INSTANTIATE_MESHVARIABLE_SCALAR(datatype) \
303template class ARCANE_TEMPLATE_EXPORT ItemVariableScalarRefT<datatype>;\
304template class ARCANE_TEMPLATE_EXPORT ItemPartialVariableScalarRefT<datatype>;\
305template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<Node,datatype>; \
306template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<Edge,datatype>; \
307template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<Face,datatype>; \
308template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<Cell,datatype>; \
309template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<Particle,datatype>; \
310template class ARCANE_TEMPLATE_EXPORT MeshVariableScalarRefT<DoF,datatype>; \
311template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<Node,datatype>; \
312template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<Edge,datatype>; \
313template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<Face,datatype>; \
314template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<Cell,datatype>; \
315template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<Particle,datatype>; \
316template class ARCANE_TEMPLATE_EXPORT MeshPartialVariableScalarRefT<DoF,datatype>
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
File d'exécution pour un accélérateur.
Informations de type pour un conteneur de données.
Interface d'une variable.
Groupe d'entités de maillage.
Caractéristiques des éléments du maillage.
static eItemKind kind()
Genre de l'entité
Variable scalaire sur un type d'entité du maillage.
void operator=(const ItemVariableScalarRefT< DataTypeT > &rhs)
Positionne la référence de l'instance à la variable rhs.
ItemVariableScalarRefT()
Constructeur vide.
const DataType & operator[](ItemLocalId item) const
ItemVariableScalarRefT(const VariableBuildInfo &b, eItemKind ik)
Construit une référence à la variable spécifiée dans vb.
Variable scalaire sur un type d'entité du maillage.
MeshVariableScalarRefT()
Constructeur vide.
GroupType itemGroup() const
Groupe associé à la grandeur.
MeshVariableScalarRefT(const VariableBuildInfo &vb)
void refersTo(const MeshVariableScalarRefT< ItemType, DataTypeT > &rhs)
Positionne la référence de l'instance à la variable rhs.
void swapValues(MeshVariableScalarRefT< ItemType, DataType > &rhs)
Échange les valeurs de la variable rhs avec celles de l'instance.
void updateFromInternal()
Mise à jour à partir de la partie interne.
PrivateVariableScalarT(const VariableBuildInfo &vb, const VariableInfo &vi)
IData * data() override
Données associées à la variable.
Paramètres nécessaires à la construction d'une variable.
Enregistreur d'une fabrique de variables.
Infos caractérisant une variable.
Informations caractérisant le type d'une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.