14#include "arcane/VariableRefScalar.h"
15#include "arcane/VariableScalar.h"
16#include "arcane/VariableBuildInfo.h"
17#include "arcane/VariableInfo.h"
18#include "arcane/VariableDataTypeTraits.h"
19#include "arcane/VariableFactoryRegisterer.h"
20#include "arcane/IParallelMng.h"
21#include "arcane/IVariableMng.h"
32template<
typename DataType> VariableFactoryRegisterer
33VariableRefScalarT<DataType>::
34m_auto_registerer(_autoCreate,_buildVariableTypeInfo());
39template<
typename DataType> VariableTypeInfo
40VariableRefScalarT<DataType>::
41_buildVariableTypeInfo()
43 return VariableTypeInfo(
IK_Unknown,VariableDataTypeTraitsT<DataType>::type(),0,0,
false);
49template<
typename DataType> VariableInfo
50VariableRefScalarT<DataType>::
51_buildVariableInfo(
const VariableBuildInfo& vbi)
53 VariableTypeInfo vti = _buildVariableTypeInfo();
54 DataStorageTypeInfo sti = vti._internalDefaultDataStorage();
55 return VariableInfo(vbi.name(),vbi.itemFamilyName(),vbi.itemGroupName(),vbi.meshName(),vti,sti);
71template<
typename DataType>
75, m_private_part(PrivatePartType::getReference(vb,_buildVariableInfo(vb)))
83template<
typename DataType>
87, m_private_part(PrivatePartType::getReference(var))
95template<
class DataType>
99, m_private_part(rhs.m_private_part)
107template<
class DataType>
void
112 m_private_part = rhs.m_private_part;
113 updateFromInternal();
119template<
typename DataType>
void
123 m_private_part->value() = v;
124 m_private_part->syncReferences();
135 ARCANE_UNUSED(value);
149template<
typename DataType>
void
155 _reduce(v,variableMng()->parallelMng(),type,HasReduce());
162template<
typename T>
void
166 BaseClass::updateFromInternal();
174template<
typename DataType>
void
178 this->m_private_part->swapValues(*(rhs.m_private_part));
Interface du gestionnaire de parallélisme pour un sous-domaine.
virtual char reduce(eReduceType rt, char v)=0
Effectue la réduction de type rt sur le réel v et retourne la valeur.
Paramètres nécessaires à la construction d'une variable.
Référence à une variable scalaire.
void refersTo(const VariableRefScalarT< DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
void swapValues(VariableRefScalarT< DataType > &rhs)
Échange les valeurs de la variable rhs avec celles de l'instance.
VariableRefScalarT()
Constructeur vide.
void reduce(Parallel::eReduceType type)
Effectue une réduction de type type sur la variable.
void assign(const DataType &v)
Affecte à la variable la valeur v.
virtual void updateFromInternal()
Mise à jour à partir de la partie interne.
DataType ElementType
Type des éléments de la variable.
Référence à une variable.
VariableRef & operator=(const VariableRef &from)
Opérateur de recopie.
void _internalInit(IVariable *)
Initialisation interne de la variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé
eReduceType
Types des réductions supportées.