12#ifndef ARCANE_CORE_VARIABLE_H
13#define ARCANE_CORE_VARIABLE_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
21#include "arcane/core/IVariable.h"
22#include "arcane/core/IData.h"
116 bool isUsed() const override;
128 void notifyEndRead()
override;
129 void notifyBeginWrite()
override;
136 Integer nbReference()
const override;
140 void syncReferences()
override;
148 Integer dimension() const override;
149 Integer multiTag() const override;
160 void resize(
Integer n) override;
161 void resizeFromGroup() override;
174 void addTag(const
String& tagname,const
String& tagvalue) override;
175 void removeTag(const
String& tagname) override;
176 bool hasTag(const
String& tagname) override;
181 void update() override;
182 void setUpToDate() override;
183 Int64 modifiedTime() override;
184 void addDepend(
IVariable* var,eDependType dt) override;
186 void removeDepend(
IVariable* var) override;
191 void update(
Real wanted_time) override;
203 void _setProperty(
int property);
210 void _setData(
const Ref<IData>& data);
213 void _setValidData(
bool valid_data);
219 bool _hasValidData()
const;
223 virtual void _internalResize(
const VariableResizeArgs& resize_args) =0;
224 virtual Integer _checkIfSameOnAllReplica(IParallelMng* replica_pm,
int max_print) =0;
225 void _checkSwapIsValid(Variable* rhs);
227 bool _wantShrink()
const;
230 friend class VariablePrivate;
231 void _resize(
const VariableResizeArgs& resize_args);
239 void _checkSetItemFamily();
240 void _checkSetItemGroup();
242 bool _hasReference()
const;
243 void _removeMeshReference();
244 String _computeComparisonHashCollective(
IData* sorted_data);
258#include "arcane/core/VariableScalar.h"
259#include "arcane/core/VariableArray.h"
Déclarations des types généraux de Arcane.
Tableau d'items de types quelconques.
Informations sur l'allocation d'une donnée.
Interface du gestionnaire de fabrique d'une donnée.
Interface d'une opération sur une donnée.
Interface de lecture des données d'une variable.
Interface d'écriture des données d'une variable.
Interface d'une famille d'entités.
Interface d'un observable.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un sérialiseur.
Interface du gestionnaire d'un sous-domaine.
Interface de la classe fonctor de recalcul d'une variable.
Partie interne de Ivariable.
Interface du gestionnaire de variables.
Interface d'une variable.
Groupe d'entités de maillage.
Référence à une instance.
Chaîne de caractères unicode.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Paramètres nécessaires à la construction d'une variable.
Informations sur une dépendance de variable.
Infos caractérisant une variable.
Référence à une variable.
Arguments pour redimensionner une variable.
String itemGroupName() const final
Nom du groupe d'entité associée.
bool isUsed() const override
Etat d'utilisation de la variable.
Variable(const VariableBuildInfo &v, const VariableInfo &vi)
Créé une variable lié à la référence v.
bool isPartial() const override
Indique si la variable est partielle.
void notifyReferencePropertyChanged() override
Indique que les propriétés d'une des références à cette variable ont changé (interne)
IVariableMng * variableMng() const override
Gestionnaire de variable associé à la variable.
String name() const final
Nom de la variable.
bool initialize(const ItemGroup &, const String &) override
Initialise la variable sur un groupe.
Variable(const Variable &from)=delete
Constructeur de recopie (ne pas utiliser)
void setUsed(bool v) override
Positionne l'état d'utilisation de la variable.
String fullName() const final
Nom complet de la variable (avec le préfixe de la famille)
ISubDomain * subDomain() override
Sous-domaine associé à la variable (TODO rendre obsolète fin 2023)
VariablePrivate * m_p
Implémentation.
String itemFamilyName() const final
Nom de la famille associée (nul si aucune).
int property() const override
Variable & operator=(const Variable &from)=delete
Opérateur de recopie (ne pas utiliser)
String meshName() const final
Nom du maillage associé (nul si aucun).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
eTraceType
Type de trace possible.
eItemKind
Genre d'entité de maillage.
double Real
Type représentant un réel.
eDataType
Type d'une donnée.