Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Install package non-interactively on CI
[simgrid.git] / src / mc / api / strategy / BasicStrategy.hpp
index dfdbd5d..452efd4 100644 (file)
@@ -6,17 +6,22 @@
 #ifndef SIMGRID_MC_BASICSTRATEGY_HPP
 #define SIMGRID_MC_BASICSTRATEGY_HPP
 
+#include "Strategy.hpp"
+
 namespace simgrid::mc {
 
 /** Basic MC guiding class which corresponds to no guide at all (random choice) */
 class BasicStrategy : public Strategy {
 public:
-  void operator=(const BasicStrategy&)
+  BasicStrategy()                     = default;
+  ~BasicStrategy() override           = default;
+  BasicStrategy(const BasicStrategy&) = delete;
+  BasicStrategy& operator=(const BasicStrategy&)
   { /* nothing to copy over while cloning */
-    return;
+    return *this;
   }
 
-  std::pair<aid_t, double> next_transition() const override
+  std::pair<aid_t, int> next_transition() const override
   {
     for (auto const& [aid, actor] : actors_to_run_) {
       /* Only consider actors (1) marked as interleaving by the checker and (2) currently enabled in the application */
@@ -24,9 +29,9 @@ public:
         continue;
       }
 
-      return std::make_pair(aid, 1.0);
+      return std::make_pair(aid, 1);
     }
-    return std::make_pair(-1, 0.0);
+    return std::make_pair(-1, 0);
   }
   void execute_next(aid_t aid, RemoteApp& app) override { return; }