14#include "arcane/VariableRefArray2.h"
16#include "arcane/utils/FatalErrorException.h"
18#include "arcane/Array2Variable.h"
19#include "arcane/VariableBuildInfo.h"
20#include "arcane/VariableInfo.h"
21#include "arcane/VariableDataTypeTraits.h"
22#include "arcane/IParallelMng.h"
23#include "arcane/VariableFactoryRegisterer.h"
24#include "arcane/core/internal/IDataInternal.h"
35template<
class DataType> VariableFactoryRegisterer
36VariableRefArray2T<DataType>::
37m_auto_registerer(_autoCreate,_internalVariableTypeInfo());
42template<
typename DataType> VariableTypeInfo
43VariableRefArray2T<DataType>::
44_internalVariableTypeInfo()
46 return VariableTypeInfo(
IK_Unknown,VariableDataTypeTraitsT<DataType>::type(),2,0,
false);
52template<
typename DataType> VariableInfo
53VariableRefArray2T<DataType>::
54_internalVariableInfo(
const VariableBuildInfo& vbi)
56 VariableTypeInfo vti = _internalVariableTypeInfo();
57 DataStorageTypeInfo sti = vti._internalDefaultDataStorage();
58 return VariableInfo(vbi.name(),vbi.itemFamilyName(),vbi.itemGroupName(),vbi.meshName(),vti,sti);
64template<
class DataType> VariableRef*
65VariableRefArray2T<DataType>::
66_autoCreate(
const VariableBuildInfo& vb)
68 return new ThatClass(vb);
74template<
typename DataType>
78, m_private_part(PrivatePartType::getReference(vbi,_internalVariableInfo(vbi)))
86template<
class DataType>
91, m_private_part(rhs.m_private_part)
102, m_private_part(PrivatePartType::getReference(var))
110template<
class DataType>
void
115 m_private_part = rhs.m_private_part;
116 updateFromInternal();
130template<
class DataType>
void
135 m_private_part = rhs.m_private_part;
136 updateFromInternal();
142template<
typename DataType>
void
146 m_private_part->directResize(s);
152template<
typename DataType>
void
154resize(Integer dim1_size,Integer dim2_size)
156 m_private_part->directResize(dim1_size,dim2_size);
162template<
typename DataType>
void
164fill(
const DataType& value)
166 m_private_part->trueData()->_internal()->_internalDeprecatedValue().fill(value);
175 ArrayBase::operator=(m_private_part->valueView());
176 BaseClass::updateFromInternal();
185 return _internalTrueData()->_internalDeprecatedValue();
196 ARCANE_FATAL(
"variable '{0}': getting internal data container is only valid on private variable", name());
197 return m_private_part->trueData()->_internal();
203template class VariableRefArray2T<Byte>;
204template class VariableRefArray2T<Real>;
205template class VariableRefArray2T<Int16>;
206template class VariableRefArray2T<Int32>;
207template class VariableRefArray2T<Int64>;
208template class VariableRefArray2T<Real2>;
209template class VariableRefArray2T<Real3>;
210template class VariableRefArray2T<Real2x2>;
211template class VariableRefArray2T<Real3x3>;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
@ PPrivate
Indique que la variable est privée.
Paramètres nécessaires à la construction d'une variable.
Variable tableau bi dimensionnel.
void refersTo(const VariableRefArray2T< DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
VariableRefArray2T(const VariableBuildInfo &vb)
Construit une référence à une variable tableau spécifiée dans vb.
virtual void resize(Integer new_size)
Réalloue le nombre d'éléments de la première dimension du tableau.
void fill(const DataType &value)
Remplit la variable avev la valeur value.
ContainerType & internalContainer()
Retourne le conteneur des valeurs de cette variable.
Array2< DataType > ContainerType
Type de la classe gérant la valeur de la variable.
void operator=(const VariableRefArray2T< DataType > &rhs)
Opérateur de recopie.
virtual void updateFromInternal()
Mise à jour à partir de la partie interne.
virtual ~VariableRefArray2T()
Libère les ressources.
Référence à une variable.
VariableRef & operator=(const VariableRef &from)
Opérateur de recopie.
void _internalInit(IVariable *)
Initialisation interne de la variable.
Vue modifiable pour un tableau 2D.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé