X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7e2f1b12f4459f77318e5d664317473e35aeb473..fb8fb96b496b4c3ca190ff4a42b29eafd67b1278:/src/simdag/sd_daxloader.cpp diff --git a/src/simdag/sd_daxloader.cpp b/src/simdag/sd_daxloader.cpp index 0c59e70c76..4131660a6e 100644 --- a/src/simdag/sd_daxloader.cpp +++ b/src/simdag/sd_daxloader.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2019. The SimGrid Team. +/* Copyright (c) 2009-2020. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,6 +11,7 @@ #include "xbt/misc.h" #include #include +#include #include "dax_dtd.h" #include "dax_dtd.c" @@ -20,8 +21,8 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_daxparse, sd, "Parsing DAX files"); /* Ensure that transfer tasks have unique names even though a file is used several times */ void uniq_transfer_task_name(SD_task_t task) { - SD_task_t child = *(task->successors->begin()); - SD_task_t parent = *(task->predecessors->begin()); + const_SD_task_t child = *(task->successors->begin()); + const_SD_task_t parent = *(task->predecessors->begin()); std::string new_name = std::string(SD_task_get_name(parent)) + "_" + SD_task_get_name(task) + "_" + SD_task_get_name(child); @@ -29,20 +30,23 @@ void uniq_transfer_task_name(SD_task_t task) SD_task_set_name(task, new_name.c_str()); } -static bool children_are_marked(SD_task_t task){ +static bool children_are_marked(const_SD_task_t task) +{ return std::none_of(task->successors->begin(), task->successors->end(), [](const SD_task_t& elm) { return not elm->marked; }) && std::none_of(task->outputs->begin(), task->outputs->end(), [](const SD_task_t& elm) { return not elm->marked; }); } -static bool parents_are_marked(SD_task_t task){ +static bool parents_are_marked(const_SD_task_t task) +{ return std::none_of(task->predecessors->begin(), task->predecessors->end(), [](const SD_task_t& elm) { return not elm->marked; }) && std::none_of(task->inputs->begin(), task->inputs->end(), [](const SD_task_t& elm) { return not elm->marked; }); } -bool acyclic_graph_detail(xbt_dynar_t dag){ +bool acyclic_graph_detail(const_xbt_dynar_t dag) +{ unsigned int count; bool all_marked = true; SD_task_t task = nullptr;