- // assign a file descriptor id to the newly opened File
- FileDescriptorHostExt* ext = host->extension<simgrid::s4u::FileDescriptorHostExt>();
- if (ext->file_descriptor_table == nullptr) {
- ext->file_descriptor_table.reset(new std::vector<int>(sg_storage_max_file_descriptors));
- std::iota(ext->file_descriptor_table->rbegin(), ext->file_descriptor_table->rend(), 0); // Fill with ..., 1, 0.
- }
- xbt_assert(not ext->file_descriptor_table->empty(), "Too much files are opened! Some have to be closed.");
- desc_id = ext->file_descriptor_table->back();
- ext->file_descriptor_table->pop_back();
+ // assign a file descriptor id to the newly opened File
+ auto* ext = host->extension<simgrid::s4u::FileDescriptorHostExt>();
+ if (ext->file_descriptor_table == nullptr) {
+ ext->file_descriptor_table = std::make_unique<std::vector<int>>(sg_storage_max_file_descriptors);
+ std::iota(ext->file_descriptor_table->rbegin(), ext->file_descriptor_table->rend(), 0); // Fill with ..., 1, 0.
+ }
+ xbt_assert(not ext->file_descriptor_table->empty(), "Too much files are opened! Some have to be closed.");
+ desc_id = ext->file_descriptor_table->back();
+ ext->file_descriptor_table->pop_back();