Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of https://framagit.org/simgrid/simgrid
[simgrid.git] / src / mc / api / ActorState.hpp
index e6be7ed..eda2808 100644 (file)
@@ -26,7 +26,6 @@ namespace simgrid::mc {
  * is important in cases
  */
 class ActorState {
-
   /**
    * @brief The transitions that the actor is allowed to execute from this
    * state, viz. those that are enabled for this actor
@@ -54,7 +53,7 @@ class ActorState {
    * This means there may be a way to store the list once and apply differences
    * rather than repeating elements frequently.
    */
-  std::vector<std::unique_ptr<Transition>> pending_transitions_;
+  std::vector<std::shared_ptr<Transition>> pending_transitions_;
 
   /* Possible exploration status of an actor transition in a state.
    * Either the checker did not consider the transition, or it was considered and still to do, or considered and
@@ -87,7 +86,7 @@ class ActorState {
 public:
   ActorState(aid_t aid, bool enabled, unsigned int max_consider) : ActorState(aid, enabled, max_consider, {}) {}
 
-  ActorState(aid_t aid, bool enabled, unsigned int max_consider, std::vector<std::unique_ptr<Transition>> transitions)
+  ActorState(aid_t aid, bool enabled, unsigned int max_consider, std::vector<std::shared_ptr<Transition>> transitions)
       : pending_transitions_(std::move(transitions)), aid_(aid), max_consider_(max_consider), enabled_(enabled)
   {
   }
@@ -118,7 +117,7 @@ public:
   inline Transition* get_transition(unsigned times_considered)
   {
     xbt_assert(times_considered < this->pending_transitions_.size(),
-               "Actor %lu does not have a state available transition with `times_considered = %d`,\n"
+               "Actor %ld does not have a state available transition with `times_considered = %u`,\n"
                "yet one was asked for",
                aid_, times_considered);
     return this->pending_transitions_[times_considered].get();
@@ -127,7 +126,7 @@ public:
   inline void set_transition(std::unique_ptr<Transition> t, unsigned times_considered)
   {
     xbt_assert(times_considered < this->pending_transitions_.size(),
-               "Actor %lu does not have a state available transition with `times_considered = %d`, "
+               "Actor %ld does not have a state available transition with `times_considered = %u`, "
                "yet one was attempted to be set",
                aid_, times_considered);
     this->pending_transitions_[times_considered] = std::move(t);