Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
BasicGuide handle next_transition if asked to
[simgrid.git] / src / mc / api / guide / GuidedState.hpp
1 /* Copyright (c) 2007-2023. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef SIMGRID_MC_GUIDEDSTATE_HPP
7 #define SIMGRID_MC_GUIDEDSTATE_HPP
8
9 namespace simgrid::mc {
10
11 class GuidedState {
12 protected:
13   /** State's exploration status by actor. Not all the actors are there, only the ones that are ready-to-run in this
14    * state */
15   std::map<aid_t, ActorState> actors_to_run_;
16
17 public:
18   virtual std::pair<aid_t, double> next_transition() const = 0;
19   virtual void execute_next(aid_t aid, RemoteApp& app)     = 0;
20   friend class State;
21 };
22
23 } // namespace simgrid::mc
24
25 #endif