Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
CommDet shall become an extension of the SafetyChecker
[simgrid.git] / src / mc / udpor_global.hpp
index e49fcf0..74715b5 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2022. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -17,12 +17,12 @@ using EventSet = std::deque<UnfoldingEvent*>;
 
 class EvtSetTools {
 public:
-  static bool contains(const EventSet events, const UnfoldingEvent* e);
-  static UnfoldingEvent* find(const EventSet events, const UnfoldingEvent* e);
+  static bool contains(const EventSet& events, const UnfoldingEvent* e);
+  static UnfoldingEvent* find(const EventSet& events, const UnfoldingEvent* e);
   static void subtract(EventSet& events, EventSet const& otherSet);
-  static bool depends(EventSet const& events, EventSet const& otherSet);
+  static bool depends(const EventSet& events, const EventSet& otherSet);
   static bool isEmptyIntersection(EventSet evtS1, EventSet evtS2);
-  static EventSet makeUnion(EventSet s1, EventSet s2);
+  static EventSet makeUnion(const EventSet& s1, const EventSet& s2);
   static void pushBack(EventSet& events, UnfoldingEvent* e);
   static void remove(EventSet& events, UnfoldingEvent* e);
   static EventSet minus(EventSet events, UnfoldingEvent* e);
@@ -54,18 +54,14 @@ public:
   Configuration(const Configuration&) = default;
   Configuration& operator=(Configuration const&) = default;
   Configuration(Configuration&&)                 = default;
-  ~Configuration()                               = default;
 };
 
 class UnfoldingEvent {
 public:
-  int id = -1;
-  EventSet causes; // used to store directed ancestors of event e
   UnfoldingEvent(unsigned int nb_events, std::string const& trans_tag, EventSet const& causes, int sid = -1);
   UnfoldingEvent(const UnfoldingEvent&) = default;
   UnfoldingEvent& operator=(UnfoldingEvent const&) = default;
   UnfoldingEvent(UnfoldingEvent&&)                 = default;
-  ~UnfoldingEvent()                                = default;
 
   EventSet getHistory() const;
 
@@ -78,8 +74,8 @@ public:
   bool isImmediateConflict1(UnfoldingEvent* evt, UnfoldingEvent* otherEvt) const;
 
   bool conflictWithConfig(UnfoldingEvent* event, Configuration const& config) const;
-  /* TODO: implement */ 
-  bool operator==(const UnfoldingEvent& other) const { return false; };
+  /* TODO: implement */
+  bool operator==(const UnfoldingEvent&) const { return false; };
   void print() const;
 
   inline int get_state_id() const { return state_id; }
@@ -89,6 +85,8 @@ public:
   inline void set_transition_tag(std::string const& tr_tag) { transition_tag = tr_tag; }
 
 private:
+  EventSet causes; // used to store directed ancestors of event e
+  int id = -1;
   int state_id{-1};
   std::string transition_tag{""}; // The tag of the last transition that lead to creating the event
   bool transition_is_IReceive(const UnfoldingEvent* testedEvt, const UnfoldingEvent* SdRcEvt) const;