Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use boost::lexical_cast instead of xbt_str_parse_* in C++ files.
[simgrid.git] / src / smpi / internals / smpi_replay.cpp
index 701323f..51e0992 100644 (file)
@@ -15,6 +15,7 @@
 #include "xbt/replay.hpp"
 #include "xbt/str.h"
 
+#include <boost/lexical_cast.hpp>
 #include <cmath>
 #include <limits>
 #include <memory>
@@ -75,7 +76,11 @@ void log_timed_action(const simgrid::xbt::ReplayAction& action, double clock)
 /* Helper functions */
 static double parse_double(const std::string& string)
 {
-  return xbt_str_parse_double(string.c_str(), "not a double");
+  try {
+    return boost::lexical_cast<double>(string);
+  } catch (boost::bad_lexical_cast const&) {
+    throw std::invalid_argument("not a double: " + string);
+  }
 }
 
 template <typename T> static T parse_integer(const std::string& string)