X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/59d7d4f62ea2f1d8e88aa15c3186c1dbc5bfcc0a..49b1775ffd75205366df2d854e5640bb9f61a5fe:/src/mc/api/State.hpp diff --git a/src/mc/api/State.hpp b/src/mc/api/State.hpp index f0994e8aa5..9288788cef 100644 --- a/src/mc/api/State.hpp +++ b/src/mc/api/State.hpp @@ -43,7 +43,7 @@ class XBT_PRIVATE State : public xbt::Extendable { and for guided model-checking */ const State* parent_state_; - std::unique_ptr guide_; + std::shared_ptr guide_; /* Sleep sets are composed of the actor and the corresponding transition that made it being added to the sleep * set. With this information, it is check whether it should be removed from it or not when exploring a new @@ -53,6 +53,7 @@ class XBT_PRIVATE State : public xbt::Extendable { public: explicit State(RemoteApp& remote_app); explicit State(RemoteApp& remote_app, const State* parent_state); + explicit State(const State& other); /* Returns a positive number if there is another transition to pick, or -1 if not */ aid_t next_transition() const; // this function should disapear as it is redundant with the next one @@ -87,7 +88,7 @@ public: void set_system_state(std::shared_ptr state) { system_state_ = std::move(state); } std::map const& get_sleep_set() const { return sleep_set_; } - void add_sleep_set(Transition* t) + void add_sleep_set(const Transition* t) { sleep_set_.insert_or_assign(t->aid_, Transition(t->type_, t->aid_, t->times_considered_)); }