Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
VariableSynchronizerEventArgs.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/* VariableSynchronizerEventArgs.h (C) 2000-2023 */
9/* */
10/* Arguments des évènements générés par IVariableSynchronizer. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13#ifndef ARCANE_VARIABLESYNCHRONIZEREVENTARGS_H
14#define ARCANE_VARIABLESYNCHRONIZEREVENTARGS_H
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
19#include "arcane/utils/Array.h"
20
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
39class ARCANE_CORE_EXPORT VariableSynchronizerEventArgs
40{
41 public:
42
44 enum class State
45 {
46 BeginSynchronize,
47 EndSynchronize
48 };
49
51 enum class CompareStatus
52 {
54 Unknown,
56 Same,
59 };
60
61 public:
62
63 ARCANE_DEPRECATED_REASON("Y2023: Use VariableSynchronizerEventArgs(IVariableSynchronizer* vs) and call initialize() instead")
65 Real elapsed_time, State state = State::EndSynchronize);
66 ARCANE_DEPRECATED_REASON("Y2023: Use VariableSynchronizerEventArgs(IVariableSynchronizer* vs) and call initialize() instead")
68 Real elapsed_time, State state = State::EndSynchronize);
69
70 ARCANE_DEPRECATED_REASON("Y2023: Use VariableSynchronizerEventArgs(IVariableSynchronizer* vs) and call initialize() instead")
72
73 ARCANE_DEPRECATED_REASON("Y2023: Use VariableSynchronizerEventArgs(IVariableSynchronizer* vs) and call initialize() instead")
75
77 : m_var_syncer(vs)
78 {}
79
80 public:
81
82 void initialize(const VariableCollection& vars);
83 void initialize(IVariable* var);
84
86 IVariableSynchronizer* synchronizer() const { return m_var_syncer; }
87
89 ConstArrayView<IVariable*> variables() const;
90
100 ConstArrayView<CompareStatus> compareStatusList() const { return m_compare_status_list; }
101
103 void setCompareStatus(Int32 i, CompareStatus v) { m_compare_status_list[i] = v; }
104
106 Real elapsedTime() const { return m_elapsed_time; }
107 void setElapsedTime(Real v) { m_elapsed_time = v; }
108
110 State state() const { return m_state; }
111 void setState(State v) { m_state = v; }
112
113 private:
114
115 IVariableSynchronizer* m_var_syncer = nullptr;
116 UniqueArray<IVariable*> m_variables;
117 UniqueArray<CompareStatus> m_compare_status_list;
118 Real m_elapsed_time = 0.0;
119 State m_state = State::BeginSynchronize;
120
121 private:
122
123 void _reset();
124};
125
126/*---------------------------------------------------------------------------*/
127/*---------------------------------------------------------------------------*/
128
129} // namespace Arcane
130
131/*---------------------------------------------------------------------------*/
132/*---------------------------------------------------------------------------*/
133
134#endif
Déclarations des types généraux de Arcane.
Déclarations des types utilisés dans Arcane.
Interface d'un service de synchronisation de variable.
Interface d'une variable.
Definition IVariable.h:54
Vue typée sur une liste d'entités d'une connectivité.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Collection de variables.
Arguments de l'évènement notifiant une synchronisation de variables.
Real elapsedTime() const
Temps passé dans la synchronisation.
CompareStatus
Comparaison des valeurs des entités fantômes avant/après une synchronisation.
State
Enum pour savoir si on est au début ou à la fin de la synchronisation.
ConstArrayView< CompareStatus > compareStatusList() const
Liste de l'état de comparaison.
void setCompareStatus(Int32 i, CompareStatus v)
Positionne l'état de comparaison de la i-ème variable.
IVariableSynchronizer * synchronizer() const
Synchroniseur associé.
State state() const
Indicateur du moment de l'évènement.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
@ Different
Valeurs différentes avant et après la synchronisation.
@ Same
Même valeurs avant et après la synchronisation.