Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IVariableMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IVariableMng.h (C) 2000-2023 */
9/* */
10/* Interface du gestionnaire des variables. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IVARIABLEMNG_H
13#define ARCANE_CORE_IVARIABLEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IVariable;
29class IVariableFilter;
30class VariableInfo;
31class MeshVariable;
32class IModule;
33class IParallelMng;
34class IDataReader;
35class IDataWriter;
36class IObservable;
41class VariableRef;
42class IMesh;
46
47/*---------------------------------------------------------------------------*/
48/*---------------------------------------------------------------------------*/
57{
58 public:
59
60 virtual ~IVariableMng() = default;
61
62 public:
63
65 ARCCORE_DEPRECATED_2020("Do not use this method. Try to get 'ISubDomain' from another way")
66 virtual ISubDomain* subDomain() =0;
67
69 virtual IParallelMng* parallelMng() const =0;
70
72 virtual ITraceMng* traceMng() =0;
73
94 virtual IVariable* checkVariable(const VariableInfo& infos) =0;
101
103 virtual void dumpList(std::ostream&,IModule*) =0;
104
106 virtual void dumpList(std::ostream&) =0;
107
108
127 virtual Real exportSize(const VariableCollection& vars) =0;
128
137
145
154 virtual void writeVariables(IDataWriter* writer,IVariableFilter* filter=0) =0;
155
162 virtual void writeVariables(IDataWriter* writer,const VariableCollection& vars) =0;
163
176 virtual void writeCheckpoint(ICheckpointWriter* writer) =0;
177
189
202 virtual void readVariables(IDataReader* reader,IVariableFilter* filter=0) =0;
203
217 virtual void readCheckpoint(ICheckpointReader* reader) =0;
218
232 virtual void readCheckpoint(const CheckpointReadInfo& infos) =0;
233
236
239
242
244 virtual void notifyUsedVariableChanged() =0;
245
247 virtual IVariable* findVariable(const String& name) =0;
248
250 virtual IVariable* findMeshVariable(IMesh* mesh,const String& name) =0;
251
254
256 virtual void dumpStats(std::ostream& ostr,bool is_verbose) =0;
257
259 virtual void dumpStatsJSON(JSONWriter& writer) =0;
260
262 virtual IVariableUtilities* utilities() const =0;
263
266
267 public:
268
270
271
273
277
278 public:
279
287 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
288 virtual void build() =0;
289
296 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
297 virtual void initialize() =0;
298
300 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
301 virtual void removeAllVariables() =0;
302
304 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
305 virtual void detachMeshVariables(IMesh* mesh) =0;
306
307
317 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
318 virtual void addVariableRef(VariableRef* var) =0;
319
328 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
329 virtual void removeVariableRef(VariableRef* var) =0;
330
342 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
343 virtual void addVariable(IVariable* var) =0;
344
355 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
356 virtual void removeVariable(IVariable* var) =0;
357
366 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
367 virtual void initializeVariables(bool is_continue) =0;
368
369 public:
370
375 ARCANE_DEPRECATED_REASON("Y2023: This method is internal to Arcane")
376 virtual ISubDomain* _internalSubDomain() const =0;
377
378 public:
379
382};
383
384/*---------------------------------------------------------------------------*/
385/*---------------------------------------------------------------------------*/
386
387} // End namespace Arcane
388
389/*---------------------------------------------------------------------------*/
390/*---------------------------------------------------------------------------*/
391
392#endif
Déclarations des types généraux de Arcane.
Informations de relecture d'une protection.
Classe de base d'un handler d'évènement.
Definition Event.h:193
Interface du service de lecture d'une protection/reprise.
Interface du service d'écriture d'une protection/reprise.
Interface de lecture des données d'une variable.
Definition IDataReader.h:41
Interface d'écriture des données d'une variable.
Definition IDataWriter.h:49
Interface d'un module.
Definition IModule.h:39
Interface d'un observable.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'un écrivain pour les informations de post-traitement.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Interface du gestionnaire de traces.
Fonctor d'un filtre applicable sur des variables.
Interface du gestionnaire de variables.
Interface du gestionnaire de variables.
virtual void writeCheckpoint(ICheckpointWriter *writer)=0
Ecrit les variables pour une protection.
virtual EventObservable< const VariableStatusChangedEventArgs & > & onVariableRemoved()=0
Evènement envoyé lorsqu'une variable est détruite.
virtual IVariableUtilities * utilities() const =0
Interface des fonctions utilitaires associées.
virtual void notifyUsedVariableChanged()=0
Notifie au gestionnaire que l'état d'une variable a changé
virtual void readVariables(IDataReader *reader, IVariableFilter *filter=0)=0
Relit toutes les variables.
virtual void variables(VariableRefCollection v, IModule *i)=0
Donne l'ensemble des variables du module i.
virtual void removeVariableRef(VariableRef *var)=0
Supprime une référence à une variable.
virtual void addVariable(IVariable *var)=0
Ajoute une variable.
virtual ~IVariableMng()=default
Libère les ressources.
virtual IParallelMng * parallelMng() const =0
Gestionnaire de parallélisme associé
virtual EventObservable< const VariableStatusChangedEventArgs & > & onVariableAdded()=0
Evènement envoyé lorsqu'une variable est créée.
virtual void dumpStatsJSON(JSONWriter &writer)=0
Ecrit les statistiques avec l'écrivain writer.
virtual VariableCollection usedVariables()=0
Liste des variables utilisées.
virtual void writeVariables(IDataWriter *writer, IVariableFilter *filter=0)=0
Ecrit les variables.
virtual IVariable * findMeshVariable(IMesh *mesh, const String &name)=0
Retourne la variable du maillage de nom name ou 0 si aucune de se nom existe.
virtual IObservable * writeObservable()=0
Observable pour les variables en écriture.
virtual IVariable * checkVariable(const VariableInfo &infos)=0
Vérifie une variable.
virtual void detachMeshVariables(IMesh *mesh)=0
Détache les variables associées au maillage mesh.
virtual void writePostProcessing(IPostProcessorWriter *writer)=0
Ecrit les variables pour un post-traitement.
virtual void build()=0
Construit les membres de l'instance.
virtual IVariableSynchronizerMng * synchronizerMng() const =0
Interface du gestionnaire de synchronisation des variables.
virtual IVariableMngInternal * _internalApi()=0
API interne à Arcane.
virtual IVariable * findVariable(const String &name)=0
Retourne la variable de nom name ou 0 si aucune de se nom existe.
virtual ISubDomain * subDomain()=0
Gestionnaire du sous-domaine.
virtual ISubDomain * _internalSubDomain() const =0
virtual void initializeVariables(bool is_continue)=0
Initialise les variables.
virtual void initialize()=0
Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
virtual ITraceMng * traceMng()=0
Gestionnaire de messages.
virtual IObservable * readObservable()=0
Observable pour les variables en lecture.
virtual void readCheckpoint(ICheckpointReader *reader)=0
Relit toutes les variables d'une protection.
virtual Real exportSize(const VariableCollection &vars)=0
Taille estimé pour exporter des variables.
virtual IVariable * findVariableFullyQualified(const String &name)=0
Retourne la variable de nom complet name ou 0 si aucune de se nom existe.
virtual void addVariableRef(VariableRef *var)=0
Ajoute une référence à une variable.
virtual void dumpStats(std::ostream &ostr, bool is_verbose)=0
Ecrit les statistiques sur les variables sur le flot ostr.
virtual void removeVariable(IVariable *var)=0
Supprime une variable.
virtual void removeAllVariables()=0
Supprime et détruit les variables gérées par ce gestionnaire.
virtual String generateTemporaryVariableName()=0
Génère un nom pour une variable temporaire.
virtual void dumpList(std::ostream &, IModule *)=0
Affiche la liste des variables du gestionnaire lié à un module.
Interface du gestionnaire de synchronisation des variables.
Interface proposant des fonctions utilitaires sur les variables.
Interface d'une variable.
Definition IVariable.h:56
Ecrivain au format JSON.
Definition JSONWriter.h:33
Chaîne de caractères unicode.
Collection de variables.
Infos caractérisant une variable.
Référence à une variable.
Definition VariableRef.h:56
Arguments de l'évènement notifiant un changement de l'état d'une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< VariableRef * > VariableRefCollection
Collection de variables.
double Real
Type représentant un réel.