X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/74c5de07784abf609331bcf7242145cc4affdaab..02e84b1e918a6f06799ee08e74320aae45433115:/include/simgrid/simix.hpp diff --git a/include/simgrid/simix.hpp b/include/simgrid/simix.hpp index aa52f47392..9b48080f25 100644 --- a/include/simgrid/simix.hpp +++ b/include/simgrid/simix.hpp @@ -86,7 +86,7 @@ class Timer { public: decltype(simix_timers)::handle_type handle_; - Timer(double date, simgrid::xbt::Task callback) : date(date), callback(std::move(callback)) {} + Timer(double date, simgrid::xbt::Task&& callback) : date(date), callback(std::move(callback)) {} simgrid::xbt::Task callback; double get_date() { return date; } @@ -97,13 +97,19 @@ public: return set(date, simgrid::xbt::Task(std::move(callback))); } - template static inline Timer* set(double date, R (*callback)(T*), T* arg) + template + XBT_ATTRIB_DEPRECATED_v325("Please use a lambda or std::bind") static inline Timer* set(double date, + R (*callback)(T*), T* arg) { - return set(date, [callback, arg]() { callback(arg); }); + return set(date, std::bind(callback, arg)); } - static Timer* set(double date, void (*callback)(void*), void* arg); - static Timer* set(double date, simgrid::xbt::Task callback); + XBT_ATTRIB_DEPRECATED_v325("Please use a lambda or std::bind") static Timer* set(double date, void (*callback)(void*), + void* arg) + { + return set(date, std::bind(callback, arg)); + } + static Timer* set(double date, simgrid::xbt::Task&& callback); static double next() { return simix_timers.empty() ? -1.0 : simix_timers.top().first; } }; @@ -114,7 +120,7 @@ XBT_PUBLIC smx_actor_t simcall_process_create(const std::string& name, const sim void* data, sg_host_t host, std::unordered_map* properties); -XBT_PUBLIC smx_timer_t SIMIX_timer_set(double date, simgrid::xbt::Task callback); - +XBT_ATTRIB_DEPRECATED_v325("Please use simgrid::xbt::Timer::set") XBT_PUBLIC smx_timer_t + SIMIX_timer_set(double date, simgrid::xbt::Task&& callback); #endif