X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/59649246c9a98ceda4bffa85ed4bd01a3c48adab..75e8b2ae65722d849ef899616de7091286ec91f5:/include/simgrid/s4u/ConditionVariable.hpp diff --git a/include/simgrid/s4u/ConditionVariable.hpp b/include/simgrid/s4u/ConditionVariable.hpp index 946a2d53a7..8e8412757a 100644 --- a/include/simgrid/s4u/ConditionVariable.hpp +++ b/include/simgrid/s4u/ConditionVariable.hpp @@ -35,8 +35,8 @@ public: ConditionVariable(ConditionVariable const&) = delete; ConditionVariable& operator=(ConditionVariable const&) = delete; - friend XBT_PUBLIC void intrusive_ptr_add_ref(ConditionVariable * cond); - friend XBT_PUBLIC void intrusive_ptr_release(ConditionVariable * cond); + friend XBT_PUBLIC void intrusive_ptr_add_ref(const ConditionVariable* cond); + friend XBT_PUBLIC void intrusive_ptr_release(const ConditionVariable* cond); #endif static ConditionVariablePtr create(); @@ -44,8 +44,8 @@ public: // Wait functions without time: void wait(MutexPtr lock); - void wait(std::unique_lock & lock); - template void wait(std::unique_lock & lock, P pred) + void wait(const std::unique_lock& lock); + template void wait(const std::unique_lock& lock, P pred) { while (not pred()) wait(lock); @@ -53,8 +53,8 @@ public: // Wait function taking a plain double as time: - std::cv_status wait_until(std::unique_lock & lock, double timeout_time); - std::cv_status wait_for(std::unique_lock & lock, double duration); + std::cv_status wait_until(const std::unique_lock& lock, double timeout_time); + std::cv_status wait_for(const std::unique_lock& lock, double duration); template bool wait_until(std::unique_lock & lock, double timeout_time, P pred) { while (not pred()) @@ -62,7 +62,7 @@ public: return pred(); return true; } - template bool wait_for(std::unique_lock & lock, double duration, P pred) + template bool wait_for(const std::unique_lock& lock, double duration, P pred) { return this->wait_until(lock, SIMIX_get_clock() + duration, std::move(pred)); } @@ -70,25 +70,25 @@ public: // Wait function taking a C++ style time: template - bool wait_for(std::unique_lock & lock, std::chrono::duration duration, P pred) + bool wait_for(const std::unique_lock& lock, std::chrono::duration duration, P pred) { auto seconds = std::chrono::duration_cast(duration); return this->wait_for(lock, seconds.count(), pred); } template - std::cv_status wait_for(std::unique_lock & lock, std::chrono::duration duration) + std::cv_status wait_for(const std::unique_lock& lock, std::chrono::duration duration) { auto seconds = std::chrono::duration_cast(duration); return this->wait_for(lock, seconds.count()); } template - std::cv_status wait_until(std::unique_lock & lock, const SimulationTimePoint& timeout_time) + std::cv_status wait_until(const std::unique_lock& lock, const SimulationTimePoint& timeout_time) { auto timeout_native = std::chrono::time_point_cast(timeout_time); return this->wait_until(lock, timeout_native.time_since_epoch().count()); } template - bool wait_until(std::unique_lock & lock, const SimulationTimePoint& timeout_time, P pred) + bool wait_until(const std::unique_lock& lock, const SimulationTimePoint& timeout_time, P pred) { auto timeout_native = std::chrono::time_point_cast(timeout_time); return this->wait_until(lock, timeout_native.time_since_epoch().count(), std::move(pred));