From 5e508dc082191ebc594cf43bf8f7a18f8ecf2923 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Fri, 13 Jul 2018 16:47:33 +0200 Subject: [PATCH 1/1] Get rid of dependency on boost::regex. --- .../CMakeLists.txt | 5 +--- .../replay_multiple_manual.cpp | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/examples/smpi/replay_multiple_manual_deploy/CMakeLists.txt b/examples/smpi/replay_multiple_manual_deploy/CMakeLists.txt index 109ee5fc23..1f260ab3a9 100644 --- a/examples/smpi/replay_multiple_manual_deploy/CMakeLists.txt +++ b/examples/smpi/replay_multiple_manual_deploy/CMakeLists.txt @@ -1,11 +1,8 @@ if(enable_smpi) include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - # Boost regex dependency - find_package(Boost COMPONENTS regex REQUIRED) - add_executable (replay_multiple_manual replay_multiple_manual.cpp) - target_link_libraries(replay_multiple_manual simgrid ${Boost_LIBRARIES}) + target_link_libraries(replay_multiple_manual simgrid) # Define a list of a tesh files list(APPEND tesh_filename_list replay_multiple_manual_nojob) diff --git a/examples/smpi/replay_multiple_manual_deploy/replay_multiple_manual.cpp b/examples/smpi/replay_multiple_manual_deploy/replay_multiple_manual.cpp index 59550d32a9..4d426f26f0 100644 --- a/examples/smpi/replay_multiple_manual_deploy/replay_multiple_manual.cpp +++ b/examples/smpi/replay_multiple_manual_deploy/replay_multiple_manual.cpp @@ -22,11 +22,11 @@ #include #include #include +#include #include #include #include -#include #include #include @@ -177,21 +177,23 @@ static std::vector all_jobs(const std::string& workload_file) simgrid::xbt::Path path(workload_file); std::string dir = path.get_dir_name(); - boost::regex r(R"(^\s*(\S+)\s+(\S+\.txt)\s+(\d+)\s+(\d+)\s+(\d+(?:,\d+)*).*$)"); std::string line; while (std::getline(f, line)) { - boost::smatch m; - - if (boost::regex_match(line, m, r)) { + std::string app_name; + std::string filename_unprefixed; + int app_size; + int starting_time; + std::string alloc; + + std::istringstream is(line); + if (is >> app_name >> filename_unprefixed >> app_size >> starting_time >> alloc) { try { - Job* job = new Job; - job->smpi_app_name = m[1]; - job->filename = dir + "/" + std::string(m[2]); - job->app_size = stoi(m[3]); - job->starting_time = stoi(m[4]); - std::string alloc = m[5]; - std::string filename_unprefixed = m[2]; + Job* job = new Job; + job->smpi_app_name = app_name; + job->filename = dir + "/" + filename_unprefixed; + job->app_size = app_size; + job->starting_time = starting_time; std::vector subparts; boost::split(subparts, alloc, boost::is_any_of(","), boost::token_compress_on); -- 2.20.1