Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Use Session::execute() in LivenessChecker as well
[simgrid.git] / src / mc / CommunicationDeterminismChecker.hpp
index 5fe0011..bd30d04 100644 (file)
@@ -5,9 +5,13 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <list>
+#include <memory>
+#include <string>
+#include <vector>
 
 #include "src/mc/mc_forward.hpp"
 #include "src/mc/Checker.hpp"
+#include "src/mc/VisitedState.hpp"
 
 #ifndef SIMGRID_MC_COMMUNICATION_DETERMINISM_CHECKER_HPP
 #define SIMGRID_MC_COMMUNICATION_DETERMINISM_CHECKER_HPP
@@ -15,7 +19,7 @@
 namespace simgrid {
 namespace mc {
 
-class CommunicationDeterminismChecker : public Checker {
+class XBT_PRIVATE CommunicationDeterminismChecker : public Checker {
 public:
   CommunicationDeterminismChecker(Session& session);
   ~CommunicationDeterminismChecker();
@@ -27,7 +31,8 @@ private:
   int main();
 private:
   /** Stack representing the position in the exploration graph */
-  std::list<simgrid::mc::State*> stack_;
+  std::list<std::unique_ptr<simgrid::mc::State>> stack_;
+  simgrid::mc::VisitedStates visitedStates_;
 };
 
 #endif