}
}
- MC_comm_pattern_free(comm);
+ delete comm;
}
initial_communications_pattern = xbt_dynar_new(sizeof(mc_list_comm_pattern_t), MC_list_comm_pattern_free_voidp);
for (i=0; i < maxpid; i++){
mc_list_comm_pattern_t process_list_pattern = xbt_new0(s_mc_list_comm_pattern_t, 1);
- process_list_pattern->list = xbt_dynar_new(sizeof(mc_comm_pattern_t), MC_comm_pattern_free_voidp);
+ process_list_pattern->list = simgrid::xbt::newDeleteDynar<s_mc_comm_pattern_t>();
process_list_pattern->index_comm = 0;
xbt_dynar_insert_at(initial_communications_pattern, i, &process_list_pattern);
}
#include <xbt/sysdep.h>
#include <xbt/dynar.h>
+#include <xbt/dynar.hpp>
#include "src/mc/mc_comm_pattern.h"
#include "src/mc/mc_smx.h"
xbt_dynar_t MC_comm_patterns_dup(xbt_dynar_t patterns)
{
- xbt_dynar_t res = xbt_dynar_new(sizeof(mc_comm_pattern_t), MC_comm_pattern_free_voidp);
+ xbt_dynar_t res = simgrid::xbt::newDeleteDynar<s_mc_comm_pattern_t>();
mc_comm_pattern_t comm;
unsigned int cursor;
}
-void MC_comm_pattern_free(mc_comm_pattern_t p)
-{
- delete p;
- p = nullptr;
-}
-
static void MC_list_comm_pattern_free(mc_list_comm_pattern_t l)
{
xbt_dynar_free(&(l->list));
l = nullptr;
}
-void MC_comm_pattern_free_voidp(void *p)
-{
- MC_comm_pattern_free((mc_comm_pattern_t) * (void **) p);
-}
-
void MC_list_comm_pattern_free_voidp(void *p)
{
MC_list_comm_pattern_free((mc_list_comm_pattern_t) * (void **) p);
XBT_PRIVATE void MC_get_comm_pattern(xbt_dynar_t communications_pattern, smx_simcall_t request, e_mc_call_type_t call_type, int backtracking);
XBT_PRIVATE void MC_handle_comm_pattern(e_mc_call_type_t call_type, smx_simcall_t request, int value, xbt_dynar_t current_pattern, int backtracking);
-XBT_PRIVATE void MC_comm_pattern_free_voidp(void *p);
XBT_PRIVATE void MC_list_comm_pattern_free_voidp(void *p);
XBT_PRIVATE void MC_complete_comm_pattern(xbt_dynar_t list, smx_synchro_t comm_addr, unsigned int issuer, int backtracking);
XBT_PRIVATE void MC_state_copy_incomplete_communications_pattern(simgrid::mc::State* state);
XBT_PRIVATE void MC_state_copy_index_communications_pattern(simgrid::mc::State* state);
-XBT_PRIVATE void MC_comm_pattern_free(mc_comm_pattern_t p);
-
SG_END_DECL()
#endif