|
| conditionBase ()=default |
| Default constructor.
|
|
virtual void | wait (mutexBase &mutex)=0 |
| Waits for notification while holding the mutex.
|
|
virtual bool | waitFor (mutexBase &mutex, time::duration d)=0 |
| Waits for notification with timeout.
|
|
template<typename Pred > |
void | wait (mutexBase &mutex, Pred predicate) noexcept(noexcept(predicate())) |
| Waits until predicate becomes true.
|
|
template<typename Pred > |
bool | waitFor (mutexBase &mutex, const time::duration &d, Pred predicate) noexcept(noexcept(predicate())) |
| Waits with timeout until predicate becomes true.
|
|
virtual void | notify ()=0 |
| Notifies one waiting thread.
|
|
virtual void | notifyAll ()=0 |
| Notifies all waiting threads.
|
|
virtual | ~conditionBase ()=default |
| Virtual destructor.
|
|
| conditionBase (const conditionBase &)=delete |
| Deleted copy constructor.
|
|
conditionBase & | operator= (const conditionBase &)=delete |
| Deleted copy assignment operator.
|
|
Abstract base class for condition variable implementations.
Provides the interface for thread synchronization operations:
- Waiting with mutex protection
- Timed waiting with duration support
- Notification of waiting threads
- Predicate-based waiting templates
- Note
- This is an abstract base class and cannot be instantiated directly. Derived classes must implement all pure virtual methods.