1
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
2
// -----------------------------------------------------------------------------
3
- // Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
3
+ // Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
4
// See the top-level COPYRIGHT file for details.
5
5
// SPDX-License-Identifier: Apache-2.0
6
6
// -----------------------------------------------------------------------------
7
7
/* ---------------------------------------------------------------------------*/
8
- /* ITimeHistoryMng.h (C) 2000-2019 */
8
+ /* ITimeHistoryMng.h (C) 2000-2024 */
9
9
/* */
10
10
/* Interface de la classe gérant un historique de valeurs. */
11
11
/* ---------------------------------------------------------------------------*/
20
20
/* ---------------------------------------------------------------------------*/
21
21
/* ---------------------------------------------------------------------------*/
22
22
23
- ARCANE_BEGIN_NAMESPACE
23
+ namespace Arcane
24
+ {
25
+
26
+ /* ---------------------------------------------------------------------------*/
27
+ /* ---------------------------------------------------------------------------*/
28
+
29
+ /* !
30
+ * Classe contenant les arguments pour les méthodes utilisateurs 'addValue'.
31
+ */
32
+ class TimeHistoryAddValueArg
33
+ {
34
+ public:
35
+ TimeHistoryAddValueArg (const String& name, bool end_time, bool is_local)
36
+ : m_name(name)
37
+ , m_end_time(end_time)
38
+ , m_is_local(is_local)
39
+ {}
40
+
41
+ explicit TimeHistoryAddValueArg (const String& name)
42
+ : m_name(name)
43
+ , m_end_time(true )
44
+ , m_is_local(false )
45
+ {}
46
+
47
+ public:
48
+ const String& name () const { return m_name; }
49
+ bool endTime () const { return m_end_time; }
50
+ bool isLocal () const { return m_is_local; }
51
+
52
+ private:
53
+ String m_name;
54
+ bool m_end_time;
55
+ bool m_is_local;
56
+ };
24
57
25
58
/* ---------------------------------------------------------------------------*/
26
59
/* ---------------------------------------------------------------------------*/
27
60
28
61
class ITimeHistoryCurveWriter ;
29
62
class ITimeHistoryCurveWriter2 ;
30
63
class ITimeHistoryTransformer ;
64
+ class ITimeHistoryMngInternal ;
31
65
32
66
/* ---------------------------------------------------------------------------*/
33
67
/* ---------------------------------------------------------------------------*/
@@ -68,34 +102,35 @@ class ITimeHistoryMng
68
102
{
69
103
public:
70
104
71
- virtual ~ITimeHistoryMng (){} // !< Libère les ressources
105
+ virtual ~ITimeHistoryMng () {} // !< Libère les ressources
72
106
73
107
public:
74
-
108
+
109
+ // TODO Deprecated
75
110
/* ! \brief Ajoute la valeur \a value à l'historique \a name.
76
111
*
77
112
* La valeur est celle au temps de fin de l'itération si \a end_time est vrai,
78
113
* au début sinon.
79
114
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
80
115
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
81
116
*/
82
- virtual void addValue (const String& name,Real value,bool end_time= true ,bool is_local= false ) =0;
117
+ virtual void addValue (const String& name, Real value, bool end_time = true , bool is_local = false ) = 0;
83
118
/* ! \brief Ajoute la valeur \a value à l'historique \a name.
84
119
*
85
120
* La valeur est celle au temps de fin de l'itération si \a end_time est vrai,
86
121
* au début sinon.
87
122
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
88
123
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
89
124
*/
90
- virtual void addValue (const String& name,Int32 value,bool end_time= true ,bool is_local= false ) =0;
125
+ virtual void addValue (const String& name, Int32 value, bool end_time = true , bool is_local = false ) = 0;
91
126
/* ! Ajoute la valeur \a value à l'historique \a name.
92
127
*
93
128
* La valeur est celle au temps de fin de l'itération si \a end_time est vrai,
94
129
* au début sinon.
95
130
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
96
131
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
97
132
*/
98
- virtual void addValue (const String& name,Int64 value,bool end_time= true ,bool is_local= false ) =0;
133
+ virtual void addValue (const String& name, Int64 value, bool end_time = true , bool is_local = false ) = 0;
99
134
/* ! \brief Ajoute la valeur \a value à l'historique \a name.
100
135
*
101
136
* Le nombre d'éléments de \a value doit être constant au cours du temps.
@@ -104,7 +139,7 @@ class ITimeHistoryMng
104
139
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
105
140
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
106
141
*/
107
- virtual void addValue (const String& name,RealConstArrayView value,bool end_time= true ,bool is_local= false ) =0;
142
+ virtual void addValue (const String& name, RealConstArrayView value, bool end_time = true , bool is_local = false ) = 0;
108
143
/* ! \brief Ajoute la valeur \a value à l'historique \a name.
109
144
*
110
145
* Le nombre d'éléments de \a value doit être constant au cours du temps.
@@ -113,7 +148,7 @@ class ITimeHistoryMng
113
148
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
114
149
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
115
150
*/
116
- virtual void addValue (const String& name,Int32ConstArrayView value,bool end_time= true ,bool is_local= false ) =0;
151
+ virtual void addValue (const String& name, Int32ConstArrayView value, bool end_time = true , bool is_local = false ) = 0;
117
152
/* ! Ajoute la valeur \a value à l'historique \a name.
118
153
*
119
154
* Le nombre d'éléments de \a value doit être constant au cours du temps.
@@ -122,7 +157,16 @@ class ITimeHistoryMng
122
157
* le booleen is_local indique si la courbe est propre au process ou pas pour pouvoir écrire des courbes meme
123
158
* par des procs non io_master quand la varariable ARCANE_ENABLE_NON_IO_MASTER_CURVES
124
159
*/
125
- virtual void addValue (const String& name,Int64ConstArrayView value,bool end_time=true ,bool is_local=false ) =0;
160
+ virtual void addValue (const String& name, Int64ConstArrayView value, bool end_time = true , bool is_local = false ) = 0;
161
+
162
+ public:
163
+
164
+ virtual void addValue (const TimeHistoryAddValueArg& thp, Real value) = 0;
165
+ virtual void addValue (const TimeHistoryAddValueArg& thp, Int32 value) = 0;
166
+ virtual void addValue (const TimeHistoryAddValueArg& thp, Int64 value) = 0;
167
+ virtual void addValue (const TimeHistoryAddValueArg& thp, RealConstArrayView values) = 0;
168
+ virtual void addValue (const TimeHistoryAddValueArg& thp, Int32ConstArrayView values) = 0;
169
+ virtual void addValue (const TimeHistoryAddValueArg& thp, Int64ConstArrayView values) = 0;
126
170
127
171
public:
128
172
@@ -150,13 +194,13 @@ class ITimeHistoryMng
150
194
}
151
195
152
196
// ! Ajoute un écrivain
153
- virtual void addCurveWriter (ITimeHistoryCurveWriter2* writer) =0;
197
+ virtual void addCurveWriter (ITimeHistoryCurveWriter2* writer) = 0;
154
198
155
199
// ! Supprime un écrivain
156
- virtual void removeCurveWriter (ITimeHistoryCurveWriter2* writer) =0;
200
+ virtual void removeCurveWriter (ITimeHistoryCurveWriter2* writer) = 0;
157
201
158
202
// ! Supprime l'écrivain de nom \a name
159
- virtual void removeCurveWriter (const String& name) =0;
203
+ virtual void removeCurveWriter (const String& name) = 0;
160
204
161
205
public:
162
206
@@ -166,14 +210,14 @@ class ITimeHistoryMng
166
210
*
167
211
* Cela consiste à appelé dumpCurves() pour chaque écrivain enregistré.
168
212
*/
169
- virtual void dumpHistory (bool is_verbose) =0;
213
+ virtual void dumpHistory (bool is_verbose) = 0;
170
214
171
215
/* !
172
216
* \brief Utilise l'écrivain \a writer pour sortir toutes les courbes.
173
217
*
174
218
* Le chemin de sortie est le répertoire courant.
175
219
*/
176
- virtual void dumpCurves (ITimeHistoryCurveWriter2* writer) =0;
220
+ virtual void dumpCurves (ITimeHistoryCurveWriter2* writer) = 0;
177
221
178
222
/* !
179
223
* \brief Indique l'état d'activation.
@@ -182,47 +226,52 @@ class ITimeHistoryMng
182
226
* est active. Dans le cas contraire, les appels à addValue() sont
183
227
* ignorés.
184
228
*/
185
- virtual bool active () const =0;
229
+ virtual bool active () const = 0;
186
230
187
231
/* !
188
232
* \brief Positionne l'état d'activation.
189
233
* \sa active().
190
234
*/
191
- virtual void setActive (bool is_active) =0;
235
+ virtual void setActive (bool is_active) = 0;
192
236
193
237
/* !
194
238
* \brief Applique la transformation \a v à l'ensemble des courbes.
195
239
*/
196
- virtual void applyTransformation (ITimeHistoryTransformer* v) =0;
240
+ virtual void applyTransformation (ITimeHistoryTransformer* v) = 0;
197
241
198
242
/* !
199
243
* \brief Indique l'état d'activation des sorties.
200
244
*
201
245
* La fonction dumpHistory() est inactives
202
246
* si isDumpActive() est faux.
203
247
*/
204
- virtual bool isDumpActive () const =0;
248
+ virtual bool isDumpActive () const = 0;
205
249
206
250
/* !
207
251
* \brief Positionne l'état d'activation des sorties.
208
252
*/
209
- virtual void setDumpActive (bool is_active) =0;
253
+ virtual void setDumpActive (bool is_active) = 0;
210
254
211
255
/* !
212
256
* \brief Retourne un booléen indiquant si l'historique est compressé
213
257
*/
214
- virtual bool isShrinkActive () const =0;
258
+ virtual bool isShrinkActive () const = 0;
215
259
216
260
/* !
217
261
* \brief Positionne le booléen indiquant si l'historique est compressé
218
262
*/
219
- virtual void setShrinkActive (bool is_active) =0;
263
+ virtual void setShrinkActive (bool is_active) = 0;
264
+
265
+ public:
266
+
267
+ // ! API interne à Arcane
268
+ virtual ITimeHistoryMngInternal* _internalApi () = 0;
220
269
};
221
270
222
271
/* ---------------------------------------------------------------------------*/
223
272
/* ---------------------------------------------------------------------------*/
224
273
225
- ARCANE_END_NAMESPACE
274
+ }
226
275
227
276
/* ---------------------------------------------------------------------------*/
228
277
/* ---------------------------------------------------------------------------*/
0 commit comments