Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use std::make_unique (Sonar).
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 27 Jun 2023 14:54:11 +0000 (16:54 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 27 Jun 2023 15:15:12 +0000 (17:15 +0200)
src/mc/explo/odpor/WakeupTree.cpp
src/mc/explo/odpor/WakeupTree.hpp

index 22b0352..8898b66 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <algorithm>
 #include <exception>
+#include <memory>
 #include <queue>
 
 namespace simgrid::mc::odpor {
@@ -46,7 +47,7 @@ void WakeupTreeNode::detatch_from_parent()
   }
 }
 
-WakeupTree::WakeupTree() : WakeupTree(std::unique_ptr<WakeupTreeNode>(new WakeupTreeNode({}))) {}
+WakeupTree::WakeupTree() : WakeupTree(std::make_unique<WakeupTreeNode>()) {}
 WakeupTree::WakeupTree(std::unique_ptr<WakeupTreeNode> root) : root_(root.get())
 {
   this->insert_node(std::move(root));
@@ -153,7 +154,7 @@ bool WakeupTree::contains(const WakeupTreeNode* node) const
 
 WakeupTreeNode* WakeupTree::make_node(std::shared_ptr<Transition> u)
 {
-  auto node                 = std::unique_ptr<WakeupTreeNode>(new WakeupTreeNode(std::move(u)));
+  auto node                 = std::make_unique<WakeupTreeNode>(std::move(u));
   auto* node_handle         = node.get();
   this->nodes_[node_handle] = std::move(node);
   return node_handle;
index 0ffcc67..8247a91 100644 (file)
@@ -35,8 +35,6 @@ namespace simgrid::mc::odpor {
  */
 class WakeupTreeNode {
 private:
-  explicit WakeupTreeNode(std::shared_ptr<Transition> u) : action_(u) {}
-
   WakeupTreeNode* parent_ = nullptr;
 
   /** An ordered list of children of for this node in the tree */
@@ -53,6 +51,9 @@ private:
   friend WakeupTreeIterator;
 
 public:
+  explicit WakeupTreeNode(std::shared_ptr<Transition> u) : action_(u) {}
+
+  WakeupTreeNode()                                 = default;
   ~WakeupTreeNode()                                = default;
   WakeupTreeNode(const WakeupTreeNode&)            = delete;
   WakeupTreeNode(WakeupTreeNode&&)                 = default;