Arcane  v3.16.0.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
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.
Vue constante d'un tableau de type T.
Interface d'un service de synchronisation de variable.
Interface d'une variable.
Definition IVariable.h:56
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.
@ Different
Valeurs différentes avant et après la synchronisation.
@ Same
Même valeurs avant et après la 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 -*-
double Real
Type représentant un réel.
std::int32_t Int32
Type entier signé sur 32 bits.