static xbt_heap_t simix_timers = nullptr;
/** @brief Timer datatype */
-typedef struct s_smx_timer {
+typedef class s_smx_timer {
double date = 0.0;
- simgrid::xbt::Task<void()> callback;
+ s_smx_timer() = default;
- s_smx_timer()=default;
+public:
+ simgrid::xbt::Task<void()> callback;
+ double getDate() { return date; }
s_smx_timer(double date, simgrid::xbt::Task<void()> callback) : date(date), callback(std::move(callback)) {}
} s_smx_timer_t;
/** @brief cancels a timer that was added earlier */
void SIMIX_timer_remove(smx_timer_t timer) {
- xbt_heap_rm_elm(simix_timers, timer, timer->date);
+ xbt_heap_rm_elm(simix_timers, timer, timer->getDate());
}
/** @brief Returns the date at which the timer will trigger (or 0 if nullptr timer) */
double SIMIX_timer_get_date(smx_timer_t timer) {
- return timer?timer->date:0;
+ return timer ? timer->getDate() : 0;
}
/**
}
namespace std {
- template <>
- struct hash<simgrid::surf::Resource>
- {
- std::size_t operator()(const simgrid::surf::Resource& r) const
- {
- return (std::size_t) xbt_str_hash(r.cname());
- }
+template <> class hash<simgrid::surf::Resource> {
+public:
+ std::size_t operator()(const simgrid::surf::Resource& r) const { return (std::size_t)xbt_str_hash(r.cname()); }
};
}