English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReLauncher: TCoroutineRun.h Source File
Uranie / ReLauncher v4.9.0
/* @license-end */
TCoroutineRun.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2024 CEA/DES
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or any
7// later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
18// $Id$
19// $Author$
20// $Date$
21// $Revision 1.1 $
22// $State$
24
32#ifndef __TCOROUTINERUN__
33#define __TCOROUTINERUN__
34
35#include "TShareRun.h"
36
37#include "uranie_detection.h"
38#ifdef Boost_COROUTINE_FOUND
39#include <boost/coroutine2/coroutine.hpp>
40using namespace boost::coroutines2;
41#endif
42
43namespace URANIE
44{
45namespace Relauncher
46{
47
49{
50protected:
52#ifdef Boost_COROUTINE_FOUND
53 coroutine<void>::push_type *_yield;
54#endif
55
56public:
57#ifdef Boost_COROUTINE_FOUND
58 TCoroutineRun(TEval *, long, coroutine<void>::push_type *);
59 TCoroutineRun(TEval *, long, void *);
60#else
61 TCoroutineRun(TEval *, long);
62#endif
63 virtual ~TCoroutineRun(void);
64
65 virtual void startSlave(void);
66 virtual void stopSlave(void);
67
68 bool empty();
69 struct element serviceGet();
70 void servicePut(long, int);
71
72 virtual int get(long &);
73
74 ClassDef(URANIE::Relauncher::TCoroutineRun, ID_RELAUNCHER)
75};
76
77}
78} //namespace
79
80#endif
TRun base class.
Definition TCoroutineRun.h:49
virtual void stopSlave(void)
Definition TCoroutineRun.cxx:65
virtual ~TCoroutineRun(void)
Definition TCoroutineRun.cxx:57
bool empty()
Definition TCoroutineRun.cxx:72
struct element serviceGet()
Definition TCoroutineRun.cxx:77
virtual int get(long &)
Definition TCoroutineRun.cxx:93
virtual void startSlave(void)
Definition TCoroutineRun.cxx:61
void servicePut(long, int)
Definition TCoroutineRun.cxx:87
struct relement _next
Definition TCoroutineRun.h:51
Definition TEval.h:50
Definition TShareRun.h:84
Definition TBaseEval.cxx:44
Definition TShareRun.h:55
Definition TShareRun.h:60