Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::VariableMng

Gestionnaire de variables. Plus de détails...

#include <arcane/impl/internal/VariableMng.h>

+ Graphe d'héritage de Arcane::VariableMng:
+ Graphe de collaboration de Arcane::VariableMng:

Classes

class  InternalApi
 
class  VariableNameInfo
 
class  VNIComparer
 

Types publics

using VNIMap = HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >
 

Fonctions membres publiques

 VariableMng (ISubDomain *sd)
 Construit un gestionnaire de variable pour le cas pn.
 
 ~VariableMng () override
 Détruit le gestionnaire.
 
void build () override
 Construit les membres de l'instance.
 
void initialize () override
 Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
 
void removeAllVariables () override
 Supprime et détruit les variables gérées par ce gestionnaire.
 
void detachMeshVariables (IMesh *mesh) override
 Détache les variables associées au maillage mesh.
 
ISubDomainsubDomain () override
 Gestionnaire du sous-domaine.
 
IParallelMngparallelMng () const override
 Gestionnaire de parallélisme associé
 
ITraceMngtraceMng () override
 Gestionnaire de messages.
 
IVariablecheckVariable (const VariableInfo &infos) override
 Vérifie une variable.
 
void addVariableRef (VariableRef *ref) override
 Ajoute une référence à une variable.
 
void addVariable (IVariable *var) override
 Ajoute une variable.
 
void removeVariableRef (VariableRef *) override
 Supprime une référence à une variable.
 
void removeVariable (IVariable *var) override
 Supprime une variable.
 
void dumpList (std::ostream &, IModule *) override
 Affiche la liste des variables du gestionnaire lié à un module.
 
void dumpList (std::ostream &) override
 Affiche la liste de toutes les variables du gestionnaire.
 
void initializeVariables (bool) override
 Initialise les variables.
 
String generateTemporaryVariableName () override
 Génère un nom pour une variable temporaire.
 
void variables (VariableRefCollection, IModule *) override
 Donne l'ensemble des variables du module i.
 
VariableCollection variables () override
 Liste des variables.
 
VariableCollection usedVariables () override
 Liste des variables utilisées.
 
void notifyUsedVariableChanged () override
 Notifie au gestionnaire que l'état d'une variable a changé
 
Real exportSize (const VariableCollection &vars) override
 
IObservablewriteObservable () override
 Observable pour les variables en écriture.
 
IObservablereadObservable () override
 Observable pour les variables en lecture.
 
void writeVariables (IDataWriter *, const VariableCollection &vars) override
 Exporte les variables.
 
void writeVariables (IDataWriter *, IVariableFilter *) override
 Ecrit les variables.
 
void writeCheckpoint (ICheckpointWriter *) override
 Ecrit les variables pour une protection.
 
void writePostProcessing (IPostProcessorWriter *writer) override
 Ecrit les variables pour un post-traitement.
 
void readVariables (IDataReader *, IVariableFilter *) override
 Relit toutes les variables.
 
void readCheckpoint (ICheckpointReader *) override
 Relit toutes les variables d'une protection.
 
void readCheckpoint (const CheckpointReadInfo &infos) override
 Relit toutes les variables d'une protection.
 
IVariablefindVariable (const String &name) override
 Retourne la variable de nom name ou 0 si aucune de se nom existe.
 
IVariablefindMeshVariable (IMesh *mesh, const String &name) override
 Retourne la variable du maillage de nom name ou 0 si aucune de se nom existe.
 
IVariablefindVariableFullyQualified (const String &name) override
 Retourne la variable de nom complet name ou 0 si aucune de se nom existe.
 
void dumpStats (std::ostream &ostr, bool is_verbose) override
 Ecrit les statistiques sur les variables sur le flot ostr.
 
void dumpStatsJSON (JSONWriter &writer) override
 Ecrit les statistiques avec l'écrivain writer.
 
IVariableUtilitiesutilities () const override
 Interface des fonctions utilitaires associées.
 
EventObservable< const VariableStatusChangedEventArgs & > & onVariableAdded () override
 Evènement envoyé lorsqu'une variable est créée.
 
EventObservable< const VariableStatusChangedEventArgs & > & onVariableRemoved () override
 Evènement envoyé lorsqu'une variable est détruite.
 
IVariableSynchronizerMngsynchronizerMng () const override
 Interface du gestionnaire de synchronisation des variables.
 
ISubDomain_internalSubDomain () const override
 
IVariableMngInternal_internalApi () override
 API interne à Arcane.
 
- Fonctions membres publiques hérités de Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 
- Fonctions membres publiques hérités de Arcane::IVariableMng
virtual ~IVariableMng ()=default
 Libère les ressources.
 

Fonctions membres publiques statiques

static bool isVariableToSave (IVariable &var)
 

Types privés

using FullNameVariableMap = std::map< String, IVariable * >
 Type de la liste des variables par nom complet.
 
using FullNameVariablePair = FullNameVariableMap::value_type
 Paire de la liste des variables par nom complet.
 
using VariableFactoryMap = std::map< String, IVariableFactory * >
 Type de la liste des fabriques de variables par nom complet.
 
using VariableFactoryPair = VariableFactoryMap::value_type
 Paire de la liste des variables par nom complet.
 

Fonctions membres privées

void _dumpVariable (const VariableRef &v, std::ostream &o)
 Ecrit la valeur de la variable v sur le flot o.
 
VariableRef_createVariableFromType (const String &full_type, const VariableBuildInfo &vbi)
 

Fonctions membres privées statiques

static const char_msgClassName ()
 

Attributs privés

ISubDomainm_sub_domain = nullptr
 Gestionnaire de sous-domaine.
 
IParallelMngm_parallel_mng = nullptr
 
ITimeStatsm_time_stats = nullptr
 
InternalApi m_internal_api { this }
 
VariableRefList m_variables_ref
 Liste des variables.
 
VariableList m_variables
 
VariableList m_used_variables
 
bool m_variables_changed = true
 
bool m_used_variables_changed = true
 
FullNameVariableMap m_full_name_variable_map
 Liste des variables par nom complet.
 
VNIMap m_vni_map
 
IObservablem_write_observable = nullptr
 
IObservablem_read_observable = nullptr
 
EventObservable< const VariableStatusChangedEventArgs & > m_on_variable_added
 
EventObservable< const VariableStatusChangedEventArgs & > m_on_variable_removed
 
List< IVariableFactory * > m_variable_factories
 
List< VariableRef * > m_auto_create_variables
 Liste des variables créées automatiquement lors d'une reprise.
 
VariableFactoryMap m_variable_factory_map
 
Integer m_generate_name_id = 0
 Numéro utilisé pour générer un nom de variable.
 
Int64 m_nb_created_variable_reference = 0
 
Int64 m_nb_created_variable = 0
 
std::map< IVariable *, IModule * > m_variable_creation_modules
 
IVariableUtilitiesm_utilities = nullptr
 
VariableIOWriterMngm_variable_io_writer_mng = nullptr
 
VariableIOReaderMngm_variable_io_reader_mng = nullptr
 
VariableSynchronizerMngm_variable_synchronizer_mng = nullptr
 
Ref< IAcceleratorMngm_accelerator_mng
 

Amis

class VariableIOWriterMng
 
class VariableIOReaderMng
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Gestionnaire de variables.

Définition à la ligne 53 du fichier VariableMng.h.

Documentation des définitions de type membres

◆ FullNameVariableMap

Type de la liste des variables par nom complet.

Définition à la ligne 221 du fichier VariableMng.h.

◆ FullNameVariablePair

using Arcane::VariableMng::FullNameVariablePair = FullNameVariableMap::value_type
private

Paire de la liste des variables par nom complet.

Définition à la ligne 223 du fichier VariableMng.h.

◆ VariableFactoryMap

Type de la liste des fabriques de variables par nom complet.

Définition à la ligne 226 du fichier VariableMng.h.

◆ VariableFactoryPair

using Arcane::VariableMng::VariableFactoryPair = VariableFactoryMap::value_type
private

Paire de la liste des variables par nom complet.

Définition à la ligne 228 du fichier VariableMng.h.

◆ VNIMap

Documentation des constructeurs et destructeur

◆ VariableMng()

Arcane::VariableMng::VariableMng ( ISubDomain sd)
explicit

Construit un gestionnaire de variable pour le cas pn.

Avertissement
Pour un cas donné, il faut créer un et un seul gestionnaire de variable.

Définition à la ligne 75 du fichier VariableMng.cc.

◆ ~VariableMng()

Arcane::VariableMng::~VariableMng ( )
override

Détruit le gestionnaire.

Le gestionnaire effectue la libération mémoire des variables qu'il gère.

Définition à la ligne 97 du fichier VariableMng.cc.

Références Arcane::IObservable::detachAllObservers().

Documentation des fonctions membres

◆ _createVariableFromType()

VariableRef * Arcane::VariableMng::_createVariableFromType ( const String full_type,
const VariableBuildInfo vbi 
)
private

Définition à la ligne 642 du fichier VariableMng.cc.

◆ _dumpVariable()

void Arcane::VariableMng::_dumpVariable ( const VariableRef v,
std::ostream &  o 
)
private

Ecrit la valeur de la variable v sur le flot o.

Définition à la ligne 505 du fichier VariableMng.cc.

Référencé par dumpList(), et dumpList().

◆ _internalApi()

IVariableMngInternal * Arcane::VariableMng::_internalApi ( )
inlineoverridevirtual

API interne à Arcane.

Implémente Arcane::IVariableMng.

Définition à la ligne 212 du fichier VariableMng.h.

◆ _internalSubDomain()

ISubDomain * Arcane::VariableMng::_internalSubDomain ( ) const
inlineoverridevirtual

Fonction interne temporaire pour récupérer le sous-domaine.

Implémente Arcane::IVariableMng.

Définition à la ligne 211 du fichier VariableMng.h.

Références m_sub_domain.

Référencé par Arcane::VariableMng::InternalApi::internalSubDomain().

◆ _msgClassName()

static const char * Arcane::VariableMng::_msgClassName ( )
inlinestaticprivate

Définition à la ligne 271 du fichier VariableMng.h.

◆ addVariable()

void Arcane::VariableMng::addVariable ( IVariable var)
overridevirtual

Ajoute une variable.

Ajoute la variable var.

La validité de la variable n'est pas effectuée (void checkVariable()).

Précondition
var != 0
var ne doit pas déjà être référencée.
Renvoie
l'implémentation associée à var.

Implémente Arcane::IVariableMng.

Définition à la ligne 255 du fichier VariableMng.cc.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add(), Arcane::VariableStatusChangedEventArgs::Added, ARCANE_FATAL, Arcane::ISubDomain::checkId(), Arcane::IK_Unknown, Arccore::TraceAccessor::info(), m_full_name_variable_map, subDomain(), et Arcane::ISubDomain::timeLoopMng().

Référencé par Arcane::VariableMng::InternalApi::addVariable().

◆ addVariableRef()

void Arcane::VariableMng::addVariableRef ( VariableRef var)
overridevirtual

Ajoute une référence à une variable.

Ajoute la référence var au gestionnaire.

Précondition
var != 0
var ne doit pas déjà être référencée.
Renvoie
l'implémentation associée à var.

Implémente Arcane::IVariableMng.

Définition à la ligne 236 du fichier VariableMng.cc.

Référencé par Arcane::VariableMng::InternalApi::addVariableRef().

◆ build()

void Arcane::VariableMng::build ( )
overridevirtual

Construit les membres de l'instance.

L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée. Cette méthode doit être appelée avant initialize().

Avertissement
Cette méthode ne doit être appelée qu'une seule fois.

Implémente Arcane::IVariableMng.

Définition à la ligne 118 du fichier VariableMng.cc.

Références Arccore::String::null().

Référencé par Arcane::VariableMng::InternalApi::build().

◆ checkVariable()

IVariable * Arcane::VariableMng::checkVariable ( const VariableInfo infos)
overridevirtual

Vérifie une variable.

Vérifie que la variable de nom name caractérisée par infos est valide C'est le cas si et seulement si:

  • aucune variable de nom infos.name() n'existe déjà.
  • une variable de nom infos.name() existe et son type et son genre correspondent infos.

Si la variable n'est pas valide, une exception est lancée.

Cette opération est utilisée lorsqu'on souhaite créer une nouvelle référence à une variable et permet de s'assurer qu'elle sera valide.

Exceptions
ExBadVariableKindTypesi la variable de nom infos.name() existe et que son type et le genre ne correspondent pas à ceux de infos.
Renvoie
la variable de infos.name() si elle existe, 0 sinon

Implémente Arcane::IVariableMng.

Définition à la ligne 328 du fichier VariableMng.cc.

Références ARCANE_FATAL, Arcane::arcaneIsCheck(), Arcane::VariableInfo::dataType(), Arcane::VariableInfo::dimension(), findVariableFullyQualified(), Arcane::VariableInfo::fullName(), Arcane::IK_Unknown, Arcane::VariableInfo::isPartial(), Arcane::VariableInfo::itemFamilyName(), Arcane::VariableInfo::itemGroupName(), Arcane::VariableInfo::itemKind(), Arcane::VariableInfo::localName(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookup(), Arcane::VariableInfo::meshName(), et Arccore::String::null().

◆ detachMeshVariables()

void Arcane::VariableMng::detachMeshVariables ( IMesh mesh)
overridevirtual

Détache les variables associées au maillage mesh.

Implémente Arcane::IVariableMng.

Définition à la ligne 219 du fichier VariableMng.cc.

Références Arcane::IVariable::itemGroup(), m_full_name_variable_map, Arcane::ItemGroup::mesh(), Arcane::ItemGroup::null(), et Arcane::IVariable::setUsed().

Référencé par Arcane::VariableMng::InternalApi::detachMeshVariables().

◆ dumpList() [1/2]

void Arcane::VariableMng::dumpList ( std::ostream &  )
overridevirtual

Affiche la liste de toutes les variables du gestionnaire.

Implémente Arcane::IVariableMng.

Définition à la ligne 484 du fichier VariableMng.cc.

Références _dumpVariable(), et m_full_name_variable_map.

◆ dumpList() [2/2]

void Arcane::VariableMng::dumpList ( std::ostream &  ,
IModule  
)
overridevirtual

Affiche la liste des variables du gestionnaire lié à un module.

Implémente Arcane::IVariableMng.

Définition à la ligne 468 du fichier VariableMng.cc.

Références _dumpVariable(), et m_full_name_variable_map.

◆ dumpStats()

◆ dumpStatsJSON()

void Arcane::VariableMng::dumpStatsJSON ( JSONWriter writer)
overridevirtual

Ecrit les statistiques avec l'écrivain writer.

Implémente Arcane::IVariableMng.

Définition à la ligne 959 du fichier VariableMng.cc.

Références Arcane::dataTypeName(), et m_full_name_variable_map.

◆ exportSize()

Real Arcane::VariableMng::exportSize ( const VariableCollection vars)
overridevirtual
A faire:
prendre en compte le NoDump

Implémente Arcane::IVariableMng.

Définition à la ligne 697 du fichier VariableMng.cc.

Références m_full_name_variable_map.

◆ findMeshVariable()

IVariable * Arcane::VariableMng::findMeshVariable ( IMesh mesh,
const String name 
)
overridevirtual

Retourne la variable du maillage de nom name ou 0 si aucune de se nom existe.

Implémente Arcane::IVariableMng.

Définition à la ligne 410 du fichier VariableMng.cc.

Références findVariableFullyQualified(), et Arcane::IMeshBase::name().

◆ findVariable()

IVariable * Arcane::VariableMng::findVariable ( const String name)
overridevirtual

Retourne la variable de nom name ou 0 si aucune de se nom existe.

Implémente Arcane::IVariableMng.

Définition à la ligne 386 du fichier VariableMng.cc.

Références findVariableFullyQualified().

Référencé par generateTemporaryVariableName().

◆ findVariableFullyQualified()

IVariable * Arcane::VariableMng::findVariableFullyQualified ( const String name)
overridevirtual

Retourne la variable de nom complet name ou 0 si aucune de se nom existe.

Implémente Arcane::IVariableMng.

Définition à la ligne 436 du fichier VariableMng.cc.

Références m_full_name_variable_map.

Référencé par checkVariable(), findMeshVariable(), et findVariable().

◆ generateTemporaryVariableName()

String Arcane::VariableMng::generateTemporaryVariableName ( )
overridevirtual

Génère un nom pour une variable temporaire.

Pour assurer la cohérence de ce nom, il faut que tous les sous-domaines appellent cette fonction.

Implémente Arcane::IVariableMng.

Définition à la ligne 448 du fichier VariableMng.cc.

Références findVariable(), Arccore::TraceAccessor::info(), et m_generate_name_id.

◆ initialize()

void Arcane::VariableMng::initialize ( )
overridevirtual

Initialise l'instance. L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.

Avertissement
Cette méthode ne doit être appelée qu'une seule fois.

Implémente Arcane::IVariableMng.

Définition à la ligne 129 du fichier VariableMng.cc.

Références ARCANE_FATAL, Arccore::TraceAccessor::info(), et Arcane::IParallelMng::timeStats().

Référencé par Arcane::VariableMng::InternalApi::initialize().

◆ initializeVariables()

void Arcane::VariableMng::initializeVariables ( bool  is_continue)
overridevirtual

Initialise les variables.

Parcours la liste des variables et les initialisent. Seules les variables d'un module utilisé sont initialisées.

Paramètres
is_continuetrue vrai si on est en reprise.

Implémente Arcane::IVariableMng.

Définition à la ligne 518 du fichier VariableMng.cc.

Références Arccore::TraceAccessor::info(), et m_full_name_variable_map.

Référencé par Arcane::VariableMng::InternalApi::initializeVariables().

◆ isVariableToSave()

bool Arcane::VariableMng::isVariableToSave ( IVariable var)
static

Définition à la ligne 589 du fichier VariableMng.cc.

◆ notifyUsedVariableChanged()

void Arcane::VariableMng::notifyUsedVariableChanged ( )
inlineoverridevirtual

Notifie au gestionnaire que l'état d'une variable a changé

Implémente Arcane::IVariableMng.

Définition à la ligne 180 du fichier VariableMng.h.

◆ onVariableAdded()

EventObservable< const VariableStatusChangedEventArgs & > & Arcane::VariableMng::onVariableAdded ( )
inlineoverridevirtual

Evènement envoyé lorsqu'une variable est créée.

Implémente Arcane::IVariableMng.

Définition à la ligne 200 du fichier VariableMng.h.

◆ onVariableRemoved()

EventObservable< const VariableStatusChangedEventArgs & > & Arcane::VariableMng::onVariableRemoved ( )
inlineoverridevirtual

Evènement envoyé lorsqu'une variable est détruite.

Implémente Arcane::IVariableMng.

Définition à la ligne 206 du fichier VariableMng.h.

◆ parallelMng()

IParallelMng * Arcane::VariableMng::parallelMng ( ) const
inlineoverridevirtual

Gestionnaire de parallélisme associé

Implémente Arcane::IVariableMng.

Définition à la ligne 166 du fichier VariableMng.h.

◆ readCheckpoint() [1/2]

void Arcane::VariableMng::readCheckpoint ( const CheckpointReadInfo infos)
overridevirtual

Relit toutes les variables d'une protection.

Lit une protection avec les informations contenues dans infos.

Cette méthode est collective.

Cette méthode est interne à Arcane. En générel, la lecture d'une protection se fait via une instance de ICheckpointMng, accessible via ISubDomain::checkpointMng().

Implémente Arcane::IVariableMng.

Définition à la ligne 677 du fichier VariableMng.cc.

◆ readCheckpoint() [2/2]

void Arcane::VariableMng::readCheckpoint ( ICheckpointReader reader)
overridevirtual

Relit toutes les variables d'une protection.

Lit une protection avec le service reader sur l'ensemble des variables.

Cette méthode est collective.

Cette méthode est interne à Arcane. En générel, la lecture d'une protection se fait via une instance de ICheckpointMng, accessible via ISubDomain::checkpointMng().

Implémente Arcane::IVariableMng.

Définition à la ligne 668 du fichier VariableMng.cc.

◆ readObservable()

IObservable * Arcane::VariableMng::readObservable ( )
inlineoverridevirtual

Observable pour les variables en lecture.

Les observateurs enregistrés dans cet observable sont appelés après avoir lu les variables (opération readVariables() ou readCheckpoint()).

Implémente Arcane::IVariableMng.

Définition à la ligne 183 du fichier VariableMng.h.

◆ readVariables()

void Arcane::VariableMng::readVariables ( IDataReader reader,
IVariableFilter filter 
)
overridevirtual

Relit toutes les variables.

Parcours l'ensemble des variables du gestionnaire et leur applique le lecteur reader. Si filter est non nul, il est appliqué à chaque variable et une variable n'est lue que si le filtre est vrai pour cette variable. Les variables qui ne sont pas lues ne sont pas modifiées par cette opération.

Obsolète:
Utiliser readVariable(IDataReader*)

Cette méthode est collective.

Implémente Arcane::IVariableMng.

Définition à la ligne 686 du fichier VariableMng.cc.

◆ removeAllVariables()

void Arcane::VariableMng::removeAllVariables ( )
overridevirtual

◆ removeVariable()

void Arcane::VariableMng::removeVariable ( IVariable var)
overridevirtual

Supprime une variable.

Supprime la variable var.

Après appel à cette méthode, la variable ne doit plus être utilisée.

Précondition
var != 0
var doit avoir une seule référence.

Implémente Arcane::IVariableMng.

Définition à la ligne 291 du fichier VariableMng.cc.

Références Arccore::TraceAccessor::debug(), m_full_name_variable_map, Arcane::IVariable::PNoDump, Arcane::IVariable::PNoRestore, Arcane::IVariable::PTemporary, Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::remove(), et Arcane::VariableStatusChangedEventArgs::Removed.

Référencé par Arcane::VariableMng::InternalApi::removeVariable().

◆ removeVariableRef()

void Arcane::VariableMng::removeVariableRef ( VariableRef var)
overridevirtual

Supprime une référence à une variable.

Supprime la référence var du gestionnaire.

Si var n'est pas référencée par le gestionnaire, rien n'est effectué.

Précondition
var != 0

Implémente Arcane::IVariableMng.

Définition à la ligne 246 du fichier VariableMng.cc.

Référencé par Arcane::VariableMng::InternalApi::removeVariableRef().

◆ subDomain()

ISubDomain * Arcane::VariableMng::subDomain ( )
inlineoverridevirtual

Gestionnaire du sous-domaine.

Implémente Arcane::IVariableMng.

Définition à la ligne 165 du fichier VariableMng.h.

Références m_sub_domain.

Référencé par addVariable(), et dumpStats().

◆ synchronizerMng()

IVariableSynchronizerMng * Arcane::VariableMng::synchronizerMng ( ) const
overridevirtual

Interface du gestionnaire de synchronisation des variables.

Implémente Arcane::IVariableMng.

Définition à la ligne 725 du fichier VariableMng.cc.

◆ traceMng()

ITraceMng * Arcane::VariableMng::traceMng ( )
inlineoverridevirtual

Gestionnaire de messages.

Implémente Arcane::IVariableMng.

Définition à la ligne 167 du fichier VariableMng.h.

Références Arccore::TraceAccessor::traceMng().

◆ usedVariables()

VariableCollection Arcane::VariableMng::usedVariables ( )
overridevirtual

Liste des variables utilisées.

Implémente Arcane::IVariableMng.

Définition à la ligne 571 du fichier VariableMng.cc.

Références m_full_name_variable_map.

◆ utilities()

IVariableUtilities * Arcane::VariableMng::utilities ( ) const
inlineoverridevirtual

Interface des fonctions utilitaires associées.

Implémente Arcane::IVariableMng.

Définition à la ligne 197 du fichier VariableMng.h.

◆ variables() [1/2]

VariableCollection Arcane::VariableMng::variables ( )
overridevirtual

Liste des variables.

Implémente Arcane::IVariableMng.

Définition à la ligne 555 du fichier VariableMng.cc.

Références m_full_name_variable_map.

◆ variables() [2/2]

void Arcane::VariableMng::variables ( VariableRefCollection  v,
IModule i 
)
overridevirtual

Donne l'ensemble des variables du module i.

Implémente Arcane::IVariableMng.

Définition à la ligne 541 du fichier VariableMng.cc.

Références m_full_name_variable_map.

◆ writeCheckpoint()

void Arcane::VariableMng::writeCheckpoint ( ICheckpointWriter writer)
overridevirtual

Ecrit les variables pour une protection.

Utilise le service de protection writer pour écrire les variables.

Cette méthode est collective.

Cette méthode est interne à Arcane. En générel, l'écriture d'une protection se fait via une instance de ICheckpointMng, accessible via ISubDomain::checkpointMng().

Implémente Arcane::IVariableMng.

Définition à la ligne 606 du fichier VariableMng.cc.

◆ writeObservable()

IObservable * Arcane::VariableMng::writeObservable ( )
inlineoverridevirtual

Observable pour les variables en écriture.

Les observateurs enregistrés dans cet observable sont appelés avant d'écrire les variables (opération writeCheckpoint(), writeVariables() ou writePostProcessing()).

Implémente Arcane::IVariableMng.

Définition à la ligne 182 du fichier VariableMng.h.

◆ writePostProcessing()

void Arcane::VariableMng::writePostProcessing ( IPostProcessorWriter writer)
overridevirtual

Ecrit les variables pour un post-traitement.

Utilise le service de post-traitement writer pour écrire les variables. L'appelant doit avoir positionner les champs de writer avant cet appel, notamment la liste des variables à post-traiter. Cette méthode appelle IPostProcessorWriter::notifyBeginWrite() avant l'écriture et IPostProcessorWriter::notifyEndWriter() en fin.

Cette méthode est collective.

Implémente Arcane::IVariableMng.

Définition à la ligne 615 du fichier VariableMng.cc.

◆ writeVariables() [1/2]

void Arcane::VariableMng::writeVariables ( IDataWriter writer,
const VariableCollection vars 
)
overridevirtual

Exporte les variables.

Exporte les variables de la liste vars. Si vars est vide, exporte toutes les variables de la base qui sont utilisées.

Implémente Arcane::IVariableMng.

Définition à la ligne 624 du fichier VariableMng.cc.

Références Arcane::VariableIOWriterMng::writeVariables().

◆ writeVariables() [2/2]

void Arcane::VariableMng::writeVariables ( IDataWriter writer,
IVariableFilter filter 
)
overridevirtual

Ecrit les variables.

Parcours l'ensemble des variables du gestionnaire et leur applique l'écrivain writer. Si filter est non nul, il est appliqué à chaque variable et une variable n'est écrite que si le filtre est vrai pour cette variable.

Cette méthode est collective

Implémente Arcane::IVariableMng.

Définition à la ligne 633 du fichier VariableMng.cc.

Références Arcane::VariableIOWriterMng::writeVariables().

Documentation des fonctions amies et associées

◆ VariableIOReaderMng

Définition à la ligne 58 du fichier VariableMng.h.

◆ VariableIOWriterMng

Définition à la ligne 57 du fichier VariableMng.h.

Documentation des données membres

◆ m_accelerator_mng

Ref<IAcceleratorMng> Arcane::VariableMng::m_accelerator_mng
private

Définition à la ligne 264 du fichier VariableMng.h.

◆ m_auto_create_variables

List<VariableRef*> Arcane::VariableMng::m_auto_create_variables
private

Liste des variables créées automatiquement lors d'une reprise.

Définition à la ligne 249 du fichier VariableMng.h.

Référencé par Arcane::VariableMng::InternalApi::addAutoDestroyVariable(), et removeAllVariables().

◆ m_full_name_variable_map

FullNameVariableMap Arcane::VariableMng::m_full_name_variable_map
private

◆ m_generate_name_id

Integer Arcane::VariableMng::m_generate_name_id = 0
private

Numéro utilisé pour générer un nom de variable.

Définition à la ligne 252 du fichier VariableMng.h.

Référencé par generateTemporaryVariableName().

◆ m_internal_api

InternalApi Arcane::VariableMng::m_internal_api { this }
private

Définition à la ligne 234 du fichier VariableMng.h.

◆ m_nb_created_variable

Int64 Arcane::VariableMng::m_nb_created_variable = 0
private

Définition à la ligne 255 du fichier VariableMng.h.

◆ m_nb_created_variable_reference

Int64 Arcane::VariableMng::m_nb_created_variable_reference = 0
private

Définition à la ligne 254 du fichier VariableMng.h.

◆ m_on_variable_added

EventObservable<const VariableStatusChangedEventArgs&> Arcane::VariableMng::m_on_variable_added
private

Définition à la ligne 245 du fichier VariableMng.h.

◆ m_on_variable_removed

EventObservable<const VariableStatusChangedEventArgs&> Arcane::VariableMng::m_on_variable_removed
private

Définition à la ligne 246 du fichier VariableMng.h.

◆ m_parallel_mng

IParallelMng* Arcane::VariableMng::m_parallel_mng = nullptr
private

Définition à la ligne 232 du fichier VariableMng.h.

◆ m_read_observable

IObservable* Arcane::VariableMng::m_read_observable = nullptr
private

Définition à la ligne 244 du fichier VariableMng.h.

◆ m_sub_domain

ISubDomain* Arcane::VariableMng::m_sub_domain = nullptr
private

Gestionnaire de sous-domaine.

Définition à la ligne 231 du fichier VariableMng.h.

Référencé par _internalSubDomain(), et subDomain().

◆ m_time_stats

ITimeStats* Arcane::VariableMng::m_time_stats = nullptr
private

Définition à la ligne 233 du fichier VariableMng.h.

◆ m_used_variables

VariableList Arcane::VariableMng::m_used_variables
private

Définition à la ligne 237 du fichier VariableMng.h.

◆ m_used_variables_changed

bool Arcane::VariableMng::m_used_variables_changed = true
private

Définition à la ligne 239 du fichier VariableMng.h.

◆ m_utilities

IVariableUtilities* Arcane::VariableMng::m_utilities = nullptr
private

Définition à la ligne 259 du fichier VariableMng.h.

◆ m_variable_creation_modules

std::map<IVariable*, IModule*> Arcane::VariableMng::m_variable_creation_modules
private

Définition à la ligne 257 du fichier VariableMng.h.

◆ m_variable_factories

List<IVariableFactory*> Arcane::VariableMng::m_variable_factories
private

Définition à la ligne 247 du fichier VariableMng.h.

◆ m_variable_factory_map

VariableFactoryMap Arcane::VariableMng::m_variable_factory_map
private

Définition à la ligne 250 du fichier VariableMng.h.

◆ m_variable_io_reader_mng

VariableIOReaderMng* Arcane::VariableMng::m_variable_io_reader_mng = nullptr
private

Définition à la ligne 261 du fichier VariableMng.h.

◆ m_variable_io_writer_mng

VariableIOWriterMng* Arcane::VariableMng::m_variable_io_writer_mng = nullptr
private

Définition à la ligne 260 du fichier VariableMng.h.

◆ m_variable_synchronizer_mng

VariableSynchronizerMng* Arcane::VariableMng::m_variable_synchronizer_mng = nullptr
private

Définition à la ligne 262 du fichier VariableMng.h.

◆ m_variables

VariableList Arcane::VariableMng::m_variables
private

Définition à la ligne 236 du fichier VariableMng.h.

◆ m_variables_changed

bool Arcane::VariableMng::m_variables_changed = true
private

Définition à la ligne 238 du fichier VariableMng.h.

◆ m_variables_ref

VariableRefList Arcane::VariableMng::m_variables_ref
private

Liste des variables.

Définition à la ligne 235 du fichier VariableMng.h.

Référencé par dumpStats().

◆ m_vni_map

VNIMap Arcane::VariableMng::m_vni_map
private

Définition à la ligne 242 du fichier VariableMng.h.

◆ m_write_observable

IObservable* Arcane::VariableMng::m_write_observable = nullptr
private

Définition à la ligne 243 du fichier VariableMng.h.


La documentation de cette classe a été générée à partir des fichiers suivants :