carb::tasking::ConditionVariableWrapper
Defined in carb/tasking/TaskingUtils.h
- 
class ConditionVariableWrapper
- Wrapper for carb::tasking::ConditionVariable. - Public Functions - 
inline ConditionVariableWrapper()
- Constructs a new ConditionVariableWrapper object. 
 - 
inline ConditionVariableWrapper(ITasking*)
- Constructs a new ConditionVariableWrapper object. - Note - Deprecated: ITasking no longer needed. 
 - 
inline ~ConditionVariableWrapper()
- Destructor. - Note - It is an error to destroy a condition variable that has waiting threads. 
 - 
inline void wait(Mutex *m)
- Waits until the condition variable is notified. - Note - mmust be locked when calling this function. The mutex will be unlocked while waiting and re-locked before returning to the caller.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
 
 - 
template<class Pred>
 inline void wait(Mutex *m, Pred &&pred)
- Waits until a predicate has been satisfied and the condition variable is notified. - Note - mmust be locked when calling this function. The mutex will be locked when calling- predand when this function returns, but unlocked while waiting.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
- pred – A predicate that is called repeatedly. When it returns true, the function returns. If it returns false, - mis unlocked and the thread/task waits until the condition variable is notified.
 
 
 - 
template<class Rep, class Period>
 inline std::cv_status wait_for(Mutex *m, const std::chrono::duration<Rep, Period> &duration)
- Waits until the condition variable is notified or the specified duration expires. - Note - mmust be locked when calling this function. The mutex will be unlocked while waiting and re-locked before returning to the caller.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
- duration – The amount of time to wait for. 
 
- Returns
- std::cv_status::no_timeoutif the condition variable was notified;- std::cv_status::timeoutif the timeout period expired.
 
 - 
template<class Rep, class Period, class Pred>
 inline bool wait_for(Mutex *m, const std::chrono::duration<Rep, Period> &duration, Pred &&pred)
- Waits until a predicate is satisfied and the condition variable is notified, or the specified duration expires. - Note - mmust be locked when calling this function. The mutex will be unlocked while waiting and re-locked before returning to the caller.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
- duration – The amount of time to wait for. 
- pred – A predicate that is called repeatedly. When it returns true, the function returns. If it returns false, - mis unlocked and the thread/task waits until the condition variable is notified.
 
- Returns
- true if the predicate was satisfied; false if a timeout occurred. 
 
 - 
template<class Clock, class Duration>
 inline std::cv_status wait_until(Mutex *m, const std::chrono::time_point<Clock, Duration> &time_point)
- Waits until the condition variable is notified or the clock reaches the given time point. - Note - mmust be locked when calling this function. The mutex will be unlocked while waiting and re-locked before returning to the caller.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
- time_point – The clock time to wait until. 
 
- Returns
- std::cv_status::no_timeoutif the condition variable was notified;- std::cv_status::timeoutif the timeout period expired.
 
 - 
template<class Clock, class Duration, class Pred>
 inline bool wait_until(Mutex *m, const std::chrono::time_point<Clock, Duration> &time_point, Pred &&pred)
- Waits until a predicate is satisfied and the condition variable is notified or the clock reaches the given time point. - Note - mmust be locked when calling this function. The mutex will be unlocked while waiting and re-locked before returning to the caller.- Parameters
- m – The mutex to unlock while waiting for the condition variable to be notified. 
- time_point – The clock time to wait until. 
- pred – A predicate that is called repeatedly. When it returns true, the function returns. If it returns false, - mis unlocked and the thread/task waits until the condition variable is notified.
 
- Returns
- true if the predicate was satisfied; false if a timeout occurred. 
 
 - 
inline void notify_one()
- Notifies one waiting thread/task to wake and check the predicate (if applicable). 
 - 
inline void notify_all()
- Notifies all waiting threads/tasks to wake and check the predicate (if applicable). 
 - 
inline operator ConditionVariable*() const
- Convertible to ConditionVariable*. 
 - 
inline ITasking *getTasking() const
- Returns the acquired ITasking interface that was used to construct this object. - Note - Deprecated: Use carb::getCachedInterface instead. 
 
- 
inline ConditionVariableWrapper()