#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 */
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; }