Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
DirectExecutionFunctor.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/* DirectExecutionFunctor.h (C) 2000-2022 */
9/* */
10/* Fonctor pour l'exécution directe. */
11/*---------------------------------------------------------------------------*/
12
13#include "arcane/launcher/internal/DirectExecutionFunctor.h"
14
15#include "arcane/launcher/ArcaneLauncher.h"
16
17/*---------------------------------------------------------------------------*/
18/*---------------------------------------------------------------------------*/
19
20namespace Arcane
21{
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26int DirectExecutionWrapper::
27run()
28{
29 return ArcaneLauncher::run();
30}
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35int DirectExecutionWrapper::
36run(IDirectExecutionFunctor* f)
37{
38 std::cout << "DIRECT CALL (DirectExecutionContext)\n";
39 if (!f)
40 return (-1);
41 auto f2 = [=](DirectExecutionContext& ctx2) -> int
42 {
43 return f->execute(&ctx2);
44 };
45 return ArcaneLauncher::run(f2);
46}
47
48/*---------------------------------------------------------------------------*/
49/*---------------------------------------------------------------------------*/
50
51int DirectExecutionWrapper::
52run(IDirectSubDomainExecutionFunctor* f)
53{
54 std::cout << "DIRECT CALL (DirectSubDomainExecutionContext)\n";
55 if (!f)
56 return (-1);
57 auto f2 = [=](DirectSubDomainExecutionContext& ctx2) -> int
58 {
59 return f->execute(&ctx2);
60 };
61 return ArcaneLauncher::run(f2);
62}
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
66
67} // End namespace Arcane
68
69/*---------------------------------------------------------------------------*/
70/*---------------------------------------------------------------------------*/
static int run()
Point d'entrée de l'exécutable dans Arcane.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-