Arcane
4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
DefaultBackwardMng.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2026 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
/* DefaultBackwardMng.h (C) 2000-2016 */
9
/* */
10
/* Default implementation of a backward strategy. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_MAIN_DEFAULTBACKWARDMNG_H
13
#define ARCANE_MAIN_DEFAULTBACKWARDMNG_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/core/IBackwardMng.h"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
namespace
Arcane
23
{
24
25
/*---------------------------------------------------------------------------*/
26
/*---------------------------------------------------------------------------*/
27
28
class
IVariableFilter
;
29
class
IDataReaderWriter
;
30
31
/*---------------------------------------------------------------------------*/
32
/*---------------------------------------------------------------------------*/
33
37
class
ARCANE_IMPL_EXPORT DefaultBackwardMng
38
:
public
IBackwardMng
39
{
40
private
:
41
42
enum
eSequence
43
{
45
SEQSave
,
47
SEQForceSave
,
49
SEQRestore
,
51
SEQLock
,
53
SEQNothing
54
};
55
56
public
:
57
58
DefaultBackwardMng
(
ITraceMng
* trace,
ISubDomain
* sub_domain);
59
~DefaultBackwardMng
();
60
61
void
init
()
override
{}
62
63
void
beginAction()
override
;
64
65
void
endAction()
override
;
66
67
void
setSavePeriod(
Integer
n)
override
{ m_period = n; }
68
Integer savePeriod()
const override
{
return
m_period; }
69
70
void
goBackward()
override
;
71
72
bool
isLocked
()
const override
{
return
m_sequence
==
SEQLock
; }
73
74
bool
isBackwardEnabled
()
const override
{
return
m_sequence
==
SEQRestore
; }
75
76
void
clear()
override
;
77
78
virtual
bool
checkAndApplyRestore()
override
;
79
virtual
bool
checkAndApplySave(
bool
is_forced)
override
;
80
81
private
:
82
83
void
_restore();
84
85
void
_save();
86
87
private
:
88
89
ITraceMng
* m_trace;
90
ISubDomain
* m_sub_domain;
91
IVariableFilter
* m_filter;
92
IDataReaderWriter
* m_data_io;
93
95
Real
m_backward_time
;
96
98
Integer
m_period
;
99
101
bool
m_first_save
;
102
104
bool
m_action_refused
;
105
107
eSequence
m_sequence
;
108
109
private
:
110
111
void
_checkValidAction();
112
void
_checkSave(
bool
is_forced);
113
};
114
115
/*---------------------------------------------------------------------------*/
116
/*---------------------------------------------------------------------------*/
117
118
}
// namespace Arcane
119
120
/*---------------------------------------------------------------------------*/
121
/*---------------------------------------------------------------------------*/
122
123
#endif
Arcane::DefaultBackwardMng
Definition
DefaultBackwardMng.h:39
Arcane::DefaultBackwardMng::m_first_save
bool m_first_save
First save.
Definition
DefaultBackwardMng.h:101
Arcane::DefaultBackwardMng::isBackwardEnabled
bool isBackwardEnabled() const override
Indicates if a backward rollback is scheduled.
Definition
DefaultBackwardMng.h:74
Arcane::DefaultBackwardMng::init
void init() override
Initialization of the backward manager.
Definition
DefaultBackwardMng.h:61
Arcane::DefaultBackwardMng::m_period
Integer m_period
Period between two saves for backward tracking.
Definition
DefaultBackwardMng.h:98
Arcane::DefaultBackwardMng::m_sequence
eSequence m_sequence
Sequence.
Definition
DefaultBackwardMng.h:107
Arcane::DefaultBackwardMng::isLocked
bool isLocked() const override
Indicates if the backward rollback saves are locked.
Definition
DefaultBackwardMng.h:72
Arcane::DefaultBackwardMng::m_action_refused
bool m_action_refused
Actions allowed?
Definition
DefaultBackwardMng.h:104
Arcane::DefaultBackwardMng::m_backward_time
Real m_backward_time
Time of the last requested backward action.
Definition
DefaultBackwardMng.h:95
Arcane::DefaultBackwardMng::eSequence
eSequence
Definition
DefaultBackwardMng.h:43
Arcane::DefaultBackwardMng::SEQForceSave
@ SEQForceSave
Forced save.
Definition
DefaultBackwardMng.h:47
Arcane::DefaultBackwardMng::SEQNothing
@ SEQNothing
Nothing.
Definition
DefaultBackwardMng.h:53
Arcane::DefaultBackwardMng::SEQRestore
@ SEQRestore
Restore.
Definition
DefaultBackwardMng.h:49
Arcane::DefaultBackwardMng::SEQLock
@ SEQLock
Lock.
Definition
DefaultBackwardMng.h:51
Arcane::DefaultBackwardMng::SEQSave
@ SEQSave
Save.
Definition
DefaultBackwardMng.h:45
Arcane::IBackwardMng
Interface managing backward strategies.
Definition
IBackwardMng.h:54
Arcane::IDataReaderWriter
Interface for reading/writing variable data.
Definition
IDataReaderWriter.h:38
Arcane::ISubDomain
Interface of the subdomain manager.
Definition
ISubDomain.h:75
Arcane::ITraceMng
Trace manager interface.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:175
Arcane::IVariableFilter
Functor of a filter applicable to variables.
Definition
IVariableFilter.h:37
Arcane
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
Arcane::Integer
Int32 Integer
Type representing an integer.
Definition
ArccoreGlobal.h:293
Arcane::Real
double Real
Type representing a real number.
Definition
ArccoreGlobal.h:275
arcane
impl
DefaultBackwardMng.h
Generated on
for Arcane by
1.16.1