14#include "arcane/core/VariableRefArray.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/FatalErrorException.h"
19#include "arcane/core/VariableArray.h"
20#include "arcane/core/VariableRefArrayLock.h"
21#include "arcane/core/VariableBuildInfo.h"
22#include "arcane/core/VariableInfo.h"
23#include "arcane/core/VariableDataTypeTraits.h"
24#include "arcane/core/ISubDomain.h"
25#include "arcane/core/VariableFactoryRegisterer.h"
26#include "arcane/core/internal/IDataInternal.h"
37template <
typename DataType>
45template <
typename DataType>
56template <
typename DataType>
63 return VariableInfo(vbi.name(), vbi.itemFamilyName(), vbi.itemGroupName(), vbi.meshName(), vti, sti);
69template <
typename DataType>
74 return new ThatClass(vb);
80template <
typename DataType>
84, m_private_part(PrivatePartType::getReference(vbi, _internalVariableInfo(vbi)))
92template <
class DataType>
97, m_private_part(rhs.m_private_part)
105template <
class DataType>
109, m_private_part(PrivatePartType::getReference(var))
117template <
class DataType>
122 m_private_part = rhs.m_private_part;
131template <
typename DataType>
140template <
typename DataType>
144 m_private_part->resize(s);
150template <
typename DataType>
154 m_private_part->resizeWithReserve(s, nb_additional);
160template <
typename DataType>
164 ArrayBase::setArray(m_private_part->valueView());
171template <
typename DataType>
172typename VariableRefArrayT<DataType>::LockType
176 return LockType(m_private_part->trueData()->_internal()->_internalDeprecatedValue(), m_private_part);
187 return _internalTrueData()->_internalDeprecatedValue();
198 ARCANE_FATAL(
"variable '{0}': getting internal data container is only valid on private variable", name());
199 return m_private_part->trueData()->_internal();
205ARCANE_INTERNAL_INSTANTIATE_TEMPLATE_FOR_NUMERIC_DATATYPE(VariableRefArrayT);
206template class VariableRefArrayT<String>;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
constexpr ArrayView() noexcept
Construit une vue vide.
Informations de type pour un conteneur de données.
@ PPrivate
Indique que la variable est privée.
Paramètres nécessaires à la construction d'une variable.
Infos caractérisant une variable.
void updateFromInternal() override
Mise à jour à partir de la partie interne.
ContainerType & internalContainer()
Retourne le conteneur des valeurs de cette variable.
VariableRefArrayT(const VariableBuildInfo &vb)
virtual void resizeWithReserve(Integer new_size, Integer nb_additional)
Redimensionne le tableau pour contenir new_size éléments.
~VariableRefArrayT() override
Libère les ressources.
virtual void resize(Integer new_size)
Redimensionne le tableau pour contenir new_size éléments.
Array< DataType > ContainerType
Type de la classe gérant la valeur de la variable.
void refersTo(const VariableRefArrayT< DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
virtual void updateFromInternal()
Mise à jour à partir de la partie interne.
VariableRef(const VariableBuildInfo &vbi)
Construit une référence sur une variable avec les infos vbi.
VariableRef & operator=(const VariableRef &from)
Opérateur de recopie.
void _internalInit(IVariable *)
Initialisation interne de la variable.
Informations caractérisant le type d'une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
@ IK_Unknown
Entité de maillage de genre inconnu ou non initialisé