Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneDirectExecution.cc
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2022 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
/* ArcaneDirectExecution.cc (C) 2000-2011 */
9
/* */
10
/* Service d'exécution directe. */
11
/*---------------------------------------------------------------------------*/
12
/*---------------------------------------------------------------------------*/
13
14
#include "arcane/utils/ArcanePrecomp.h"
15
16
#include "arcane/ISubDomain.h"
17
#include "arcane/IDirectExecution.h"
18
19
#include "arcane/std/ArcaneDirectExecution_axl.h"
20
21
/*---------------------------------------------------------------------------*/
22
/*---------------------------------------------------------------------------*/
23
24
ARCANE_BEGIN_NAMESPACE
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
29
/*---------------------------------------------------------------------------*/
30
/*---------------------------------------------------------------------------*/
34
class
ArcaneDirectExecution
35
:
public
ArcaneArcaneDirectExecutionObject
36
{
37
public
:
38
39
ArcaneDirectExecution
(
const
ServiceBuildInfo
&
sb
)
40
:
ArcaneArcaneDirectExecutionObject
(
sb
), m_parallel_mng(0)
41
{
42
sb
.subDomain()->
setDirectExecution
(
this
);
43
}
44
virtual
~ArcaneDirectExecution
(){}
45
46
public
:
47
48
virtual
void
build
() {}
49
virtual
void
initialize(){}
50
virtual
void
execute
()
51
{
52
Integer
nb_tool
= options()->tool().size();
53
for
( Integer i=0; i<
nb_tool
; ++i )
54
options()->tool()[i]->execute();
55
}
56
virtual
bool
isActive
()
const
57
{
58
Integer
nb_tool
= options()->tool().size();
59
info() <<
"** NB_TOOL2="
<<
nb_tool
;
60
return
options()->tool().size()!=0;
61
}
62
virtual
void
setParallelMng
(
IParallelMng
* pm)
63
{
64
m_parallel_mng = pm;
65
}
66
public
:
67
68
IParallelMng
* parallelMng()
const
{
return
m_parallel_mng; }
69
70
private
:
71
IParallelMng* m_parallel_mng;
72
};
73
74
/*---------------------------------------------------------------------------*/
75
/*---------------------------------------------------------------------------*/
76
77
ARCANE_REGISTER_SERVICE_ARCANEDIRECTEXECUTION(ArcaneDirectExecution,ArcaneDirectExecution);
78
79
/*---------------------------------------------------------------------------*/
80
/*---------------------------------------------------------------------------*/
81
82
ARCANE_END_NAMESPACE
83
84
/*---------------------------------------------------------------------------*/
85
/*---------------------------------------------------------------------------*/
Arcane::ArcaneArcaneDirectExecutionObject
Generation de la classe de base du Service.
Definition
ArcaneDirectExecution_axl.h:191
Arcane::ArcaneDirectExecution
Service d'exécution directe.
Definition
ArcaneDirectExecution.cc:36
Arcane::ArcaneDirectExecution::execute
virtual void execute()
Exécute l'opération du service.
Definition
ArcaneDirectExecution.cc:50
Arcane::ArcaneDirectExecution::setParallelMng
virtual void setParallelMng(IParallelMng *pm)
Positionne le gestionnaire de parallèlisme associé. Cette méthode doit être appelée avant execute()
Definition
ArcaneDirectExecution.cc:62
Arcane::ArcaneDirectExecution::build
virtual void build()
Construction de niveau build du service.
Definition
ArcaneDirectExecution.cc:48
Arcane::ArcaneDirectExecution::isActive
virtual bool isActive() const
Vrai si le service est actif.
Definition
ArcaneDirectExecution.cc:56
Arcane::IParallelMng
Interface du gestionnaire de parallélisme pour un sous-domaine.
Definition
IParallelMng.h:52
Arcane::ISubDomain::setDirectExecution
virtual void setDirectExecution(IDirectExecution *v)=0
Positionne le service d'exécution directe.
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arcane::ServiceBuildInfo
Structure contenant les informations pour créer un service.
Definition
ServiceBuildInfo.h:198
arcane
std
ArcaneDirectExecution.cc
Généré le Lundi 18 Novembre 2024 03:01:42 pour Arcane par
1.9.8