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"
35class VariableBuildInfo;
36template<
typename T>
class IDataTracerT;
38class MemoryAccessInfo;
40class VariableResizeArgs;
102 String fullName()
const final;
103 String name()
const final;
104 String itemFamilyName()
const final;
105 String meshName()
const final;
106 String itemGroupName()
const final;
107 int property()
const override;
108 void notifyReferencePropertyChanged()
override;
113 void setUsed(
bool v)
override;
116 bool isUsed()
const override;
118 bool isPartial()
const override;
122 void setTraceInfo(Integer,
eTraceType)
override {}
128 void notifyEndRead()
override;
129 void notifyBeginWrite()
override;
136 Integer nbReference()
const override;
140 void syncReferences()
override;
142 IMesh* mesh()
const final;
148 Integer dimension()
const override;
149 Integer multiTag()
const override;
150 Integer checkIfSync(Integer
max_print)
override;
151 Integer checkIfSameOnAllReplica(Integer
max_print)
override;
195 IVariableInternal* _internalApi()
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);
235 VariablePrivate* m_p;
239 void _checkSetItemFamily();
240 void _checkSetItemGroup();
241 void _checkSetProperty(VariableRef*);
242 bool _hasReference()
const;
243 void _removeMeshReference();
244 String _computeComparisonHashCollective(IData* sorted_data);
245 VariableMetaData* _createMetaData()
const;
258#include "arcane/core/VariableScalar.h"
259#include "arcane/core/VariableArray.h"
Déclarations des types généraux de Arcane.
Informations sur l'allocation d'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 d'un sous-domaine.
Interface de la classe fonctor de recalcul d'une variable.
Interface du gestionnaire de variables.
Groupe d'entités de maillage.
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.
bool initialize(const ItemGroup &, const String &) override
Initialise la variable sur un groupe.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Interface d'un sérialiseur.
Référence à une instance.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eTraceType
Type de trace possible.
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.