Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use Mailbox::get_unique<>(), and save a few delete.
[simgrid.git] / examples / s4u / comm-waitall / s4u-comm-waitall.cpp
index 34cb0f5..aba2e8c 100644 (file)
@@ -49,7 +49,7 @@ public:
       std::string msg_content = std::string("Message ") + std::to_string(i);
       // Copy the data we send: the 'msg_content' variable is not a stable storage location.
       // It will be destroyed when this actor leaves the loop, ie before the receiver gets it
-      std::string* payload = new std::string(msg_content);
+      auto* payload = new std::string(msg_content);
 
       XBT_INFO("Send '%s' to '%s'", msg_content.c_str(), mboxes[i % receivers_count]->get_cname());
 
@@ -89,11 +89,10 @@ public:
   {
     XBT_INFO("Wait for my first message");
     for (bool cont = true; cont;) {
-      const std::string* received = static_cast<std::string*>(mbox->get());
+      auto received = mbox->get_unique<std::string>();
       XBT_INFO("I got a '%s'.", received->c_str());
       cont = (*received != "finalize"); // If it's a finalize message, we're done
       // Receiving the message was all we were supposed to do
-      delete received;
     }
   }
 };