- xbt_dynar_t res = simgrid::xbt::newDeleteDynar<s_mc_comm_pattern_t>();
-
- mc_comm_pattern_t comm;
- unsigned int cursor;
- xbt_dynar_foreach(patterns, cursor, comm) {
- mc_comm_pattern_t copy_comm = MC_comm_pattern_dup(comm);
- xbt_dynar_push(res, ©_comm);
- }
-
- return res;
-}
-
-static void MC_patterns_copy(xbt_dynar_t dest, xbt_dynar_t source)
-{
- xbt_dynar_reset(dest);
-
- unsigned int cursor;
- mc_comm_pattern_t comm;
- xbt_dynar_foreach(source, cursor, comm) {
- mc_comm_pattern_t copy_comm = MC_comm_pattern_dup(comm);
- xbt_dynar_push(dest, ©_comm);
+ dest.clear();
+ for (simgrid::mc::PatternCommunication const& comm : source) {
+ simgrid::mc::PatternCommunication* copy_comm = new simgrid::mc::PatternCommunication(comm.dup());
+ dest.push_back(copy_comm);