typedef struct tmgr_trace_iterator {
tmgr_trace_t trace;
unsigned int idx;
- void *resource;
+ sg_resource_t resource;
int free_me;
} s_tmgr_trace_event_t;
/**
* \brief Free a trace event structure
*
- * This function frees a trace_event if it can be freed, ie, if it has the free_me flag set to 1. This flag indicates whether the structure is still used somewhere or not.
- * \param trace_event Trace event structure
- * \return 1 if the structure was freed, 0 otherwise
+ * This function frees a trace_event if it can be freed, ie, if it has the free_me flag set to 1.
+ * This flag indicates whether the structure is still used somewhere or not.
+ * When the structure is freed, the argument is set to nullptr
*/
-XBT_PUBLIC(int) tmgr_trace_event_free(tmgr_trace_iterator_t trace_event);
+XBT_PUBLIC(void) tmgr_trace_event_unref(tmgr_trace_iterator_t *trace_event);
XBT_PUBLIC(void) tmgr_finalize(void);
public:
future_evt_set();
virtual ~future_evt_set();
- double next_date();
- tmgr_trace_iterator_t pop_leq(double date, double *value, void** resource);
- tmgr_trace_iterator_t add_trace(
- tmgr_trace_t trace,
- double start_time,
- unsigned int offset,
- void *model);
+ double next_date() const;
+ tmgr_trace_iterator_t pop_leq(double date, double *value, simgrid::surf::Resource** resource);
+ tmgr_trace_iterator_t add_trace(tmgr_trace_t trace, double start_time, simgrid::surf::Resource *resource);
private:
// TODO: use a boost type for the heap (or a ladder queue)