Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move mc_global stuff into LivenessChecker
[simgrid.git] / src / mc / CommunicationDeterminismChecker.hpp
index c345af7..781c2ba 100644 (file)
@@ -5,6 +5,9 @@
  * 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"
@@ -16,7 +19,7 @@
 namespace simgrid {
 namespace mc {
 
-class CommunicationDeterminismChecker : public Checker {
+class XBT_PRIVATE CommunicationDeterminismChecker : public Checker {
 public:
   CommunicationDeterminismChecker(Session& session);
   ~CommunicationDeterminismChecker();
@@ -26,10 +29,12 @@ public:
 private:
   void prepare();
   int main();
+  void logState() override;
 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_;
+  unsigned long expandedStatesCount_ = 0;
 };
 
 #endif