}
void ETag_surfxml_host() {
- s_sg_platf_host_cbarg_t host{};
+ s_sg_platf_host_cbarg_t host;
host.properties = current_property_set;
current_property_set = nullptr;
}
void ETag_surfxml_route(){
- s_sg_platf_route_cbarg_t route{};
+ s_sg_platf_route_cbarg_t route;
route.src = sg_netpoint_by_name_or_null(A_surfxml_route_src); // tested to not be nullptr in start tag
route.dst = sg_netpoint_by_name_or_null(A_surfxml_route_dst); // tested to not be nullptr in start tag
route.gw_src = nullptr;
route.gw_dst = nullptr;
- route.link_list = new std::vector<simgrid::surf::LinkImpl*>();
route.symmetrical = (A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES);
- for (auto const& link : parsed_link_list)
- route.link_list->push_back(link);
- parsed_link_list.clear();
+ route.link_list.swap(parsed_link_list);
sg_platf_new_route(&route);
- delete route.link_list;
}
void ETag_surfxml_ASroute()
}
void ETag_surfxml_zoneRoute()
{
- s_sg_platf_route_cbarg_t ASroute{};
+ s_sg_platf_route_cbarg_t ASroute;
ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_src); // tested to not be nullptr in start tag
ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_dst); // tested to not be nullptr in start tag
ASroute.gw_src = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_gw___src); // tested to not be nullptr in start tag
ASroute.gw_dst = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_gw___dst); // tested to not be nullptr in start tag
- ASroute.link_list = new std::vector<simgrid::surf::LinkImpl*>();
-
- for (auto const& link : parsed_link_list)
- ASroute.link_list->push_back(link);
- parsed_link_list.clear();
+ ASroute.link_list.swap(parsed_link_list);
switch (A_surfxml_zoneRoute_symmetrical) {
case AU_surfxml_zoneRoute_symmetrical:
}
sg_platf_new_route(&ASroute);
- delete ASroute.link_list;
}
void ETag_surfxml_bypassRoute(){
- s_sg_platf_route_cbarg_t route{};
+ s_sg_platf_route_cbarg_t route;
route.src = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_src); // tested to not be nullptr in start tag
route.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_dst); // tested to not be nullptr in start tag
route.gw_src = nullptr;
route.gw_dst = nullptr;
route.symmetrical = false;
- route.link_list = new std::vector<simgrid::surf::LinkImpl*>();
- for (auto const& link : parsed_link_list)
- route.link_list->push_back(link);
- parsed_link_list.clear();
+ route.link_list.swap(parsed_link_list);
sg_platf_new_bypassRoute(&route);
- delete route.link_list;
}
void ETag_surfxml_bypassASroute()
}
void ETag_surfxml_bypassZoneRoute()
{
- s_sg_platf_route_cbarg_t ASroute{};
+ s_sg_platf_route_cbarg_t ASroute;
ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_src);
ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_dst);
- ASroute.link_list = new std::vector<simgrid::surf::LinkImpl*>();
- for (auto const& link : parsed_link_list)
- ASroute.link_list->push_back(link);
- parsed_link_list.clear();
+ ASroute.link_list.swap(parsed_link_list);
ASroute.symmetrical = false;
ASroute.gw_dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_gw___dst);
sg_platf_new_bypassRoute(&ASroute);
- delete ASroute.link_list;
}
void ETag_surfxml_trace(){
void ETag_surfxml_actor()
{
- s_sg_platf_process_cbarg_t actor{};
+ s_sg_platf_process_cbarg_t actor;
actor.properties = current_property_set;
current_property_set = nullptr;