Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Constify pointer and reference parameters in src/s4u/.
[simgrid.git] / include / simgrid / s4u / ConditionVariable.hpp
index 946a2d5..8e84127 100644 (file)
@@ -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<Mutex> & lock);
-  template <class P> void wait(std::unique_lock<Mutex> & lock, P pred)
+  void wait(const std::unique_lock<Mutex>& lock);
+  template <class P> void wait(const std::unique_lock<Mutex>& 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<Mutex> & lock, double timeout_time);
-  std::cv_status wait_for(std::unique_lock<Mutex> & lock, double duration);
+  std::cv_status wait_until(const std::unique_lock<Mutex>& lock, double timeout_time);
+  std::cv_status wait_for(const std::unique_lock<Mutex>& lock, double duration);
   template <class P> bool wait_until(std::unique_lock<Mutex> & lock, double timeout_time, P pred)
   {
     while (not pred())
@@ -62,7 +62,7 @@ public:
         return pred();
     return true;
   }
-  template <class P> bool wait_for(std::unique_lock<Mutex> & lock, double duration, P pred)
+  template <class P> bool wait_for(const std::unique_lock<Mutex>& 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 <class Rep, class Period, class P>
-  bool wait_for(std::unique_lock<Mutex> & lock, std::chrono::duration<Rep, Period> duration, P pred)
+  bool wait_for(const std::unique_lock<Mutex>& lock, std::chrono::duration<Rep, Period> duration, P pred)
   {
     auto seconds = std::chrono::duration_cast<SimulationClockDuration>(duration);
     return this->wait_for(lock, seconds.count(), pred);
   }
   template <class Rep, class Period>
-  std::cv_status wait_for(std::unique_lock<Mutex> & lock, std::chrono::duration<Rep, Period> duration)
+  std::cv_status wait_for(const std::unique_lock<Mutex>& lock, std::chrono::duration<Rep, Period> duration)
   {
     auto seconds = std::chrono::duration_cast<SimulationClockDuration>(duration);
     return this->wait_for(lock, seconds.count());
   }
   template <class Duration>
-  std::cv_status wait_until(std::unique_lock<Mutex> & lock, const SimulationTimePoint<Duration>& timeout_time)
+  std::cv_status wait_until(const std::unique_lock<Mutex>& lock, const SimulationTimePoint<Duration>& timeout_time)
   {
     auto timeout_native = std::chrono::time_point_cast<SimulationClockDuration>(timeout_time);
     return this->wait_until(lock, timeout_native.time_since_epoch().count());
   }
   template <class Duration, class P>
-  bool wait_until(std::unique_lock<Mutex> & lock, const SimulationTimePoint<Duration>& timeout_time, P pred)
+  bool wait_until(const std::unique_lock<Mutex>& lock, const SimulationTimePoint<Duration>& timeout_time, P pred)
   {
     auto timeout_native = std::chrono::time_point_cast<SimulationClockDuration>(timeout_time);
     return this->wait_until(lock, timeout_native.time_since_epoch().count(), std::move(pred));