X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d8232f0af88b82c158f0451e3b41ef9ec85ced02..d32cddf4087e9fe3fd8007773f4b247f21c8bef7:/src/instr/jedule/jedule_platform.cpp diff --git a/src/instr/jedule/jedule_platform.cpp b/src/instr/jedule/jedule_platform.cpp index 13d1ef6ca6..668eee3083 100644 --- a/src/instr/jedule/jedule_platform.cpp +++ b/src/instr/jedule/jedule_platform.cpp @@ -19,9 +19,8 @@ std::unordered_map container_name2container; namespace simgrid { namespace jedule { Subset::Subset(int start_idx, int end_idx, Container* parent) -: start_idx(start_idx), parent(parent) + : start_idx(start_idx), nres(end_idx - start_idx + 1), parent(parent) { - nres=end_idx-start_idx+1; } Container::Container(const std::string& name) : name(name) @@ -29,16 +28,10 @@ Container::Container(const std::string& name) : name(name) container_name2container.insert({this->name, this}); } -Container::~Container() -{ - for (auto const& child : this->children) - delete child; -} - void Container::add_child(jed_container_t child) { xbt_assert(child != nullptr); - this->children.push_back(child); + this->children.emplace_back(child); child->parent = this; } @@ -59,7 +52,6 @@ void Container::add_resources(std::vector hosts) void Container::create_hierarchy(sg_netzone_t from_as) { - if (from_as->get_children().empty()) { // I am no AS // add hosts to jedule platform @@ -77,7 +69,6 @@ void Container::create_hierarchy(sg_netzone_t from_as) std::vector Container::get_hierarchy() { if(this->parent != nullptr ) { - if (not this->parent->children.empty()) { // we are in the last level return this->parent->get_hierarchy(); @@ -86,7 +77,7 @@ std::vector Container::get_hierarchy() int child_nb = -1; for (auto const& child : this->parent->children) { - if( child == this) { + if (child.get() == this) { child_nb = i; break; } @@ -156,8 +147,8 @@ void Container::print(FILE* jed_file) fprintf(jed_file, " \n"); } -} -} +} // namespace jedule +} // namespace simgrid static void add_subsets_to(std::vector& subset_list, std::vector hostgroup, jed_container_t parent) @@ -199,7 +190,6 @@ static void add_subsets_to(std::vector& subset_list, st pos = i; } } - } void get_resource_selection_by_hosts(std::vector& subset_list, @@ -211,7 +201,7 @@ void get_resource_selection_by_hosts(std::vector& subse std::unordered_map> parent2hostgroup; for (auto const& host : host_list) { const char *host_name = sg_host_get_name(host); - jed_container_t parent = host2_simgrid_parent_container.at(host_name); + const simgrid::jedule::Container* parent = host2_simgrid_parent_container.at(host_name); xbt_assert( parent != nullptr ); auto host_group = parent2hostgroup.find(parent->name.c_str());