Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Use C++ ctor/new/delete for Pair
[simgrid.git] / src / mc / mc_liveness.h
index c5d2acc..b75d935 100644 (file)
@@ -26,15 +26,21 @@ namespace mc {
 extern XBT_PRIVATE xbt_automaton_t property_automaton;
 
 struct XBT_PRIVATE Pair {
-  int num;
-  int search_cycle;
-  mc_state_t graph_state; /* System state included */
-  xbt_automaton_state_t automaton_state;
-  xbt_dynar_t atomic_propositions;
-  int requests;
-  int depth;
-  int exploration_started;
-  int visited_pair_removed;
+  int num = 0;
+  int search_cycle = 0;
+  mc_state_t graph_state = nullptr; /* System state included */
+  xbt_automaton_state_t automaton_state = nullptr;
+  xbt_dynar_t atomic_propositions = nullptr;
+  int requests = 0;
+  int depth = 0;
+  int exploration_started = 0;
+  int visited_pair_removed = 0;
+
+  Pair();
+  ~Pair();
+
+  Pair(Pair const&) = delete;
+  Pair& operator=(Pair const&) = delete;
 };
 
 struct XBT_PRIVATE VisitedPair {
@@ -50,8 +56,6 @@ struct XBT_PRIVATE VisitedPair {
   int visited_removed;
 };
 
-XBT_PRIVATE simgrid::mc::Pair* pair_new(void);
-XBT_PRIVATE void pair_delete(simgrid::mc::Pair*);
 XBT_PRIVATE simgrid::mc::VisitedPair* visited_pair_new(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state);
 XBT_PRIVATE void visited_pair_delete(simgrid::mc::VisitedPair* p);