Boost logo

Boost :

From: Matt Hurd (matthurd_at_[hidden])
Date: 2006-11-30 20:33:37

>On 01/12/06, Yuval Ronen <ronen_yuval_at_[hidden]> wrote:
> If there aren't any, then why
> wouldn't the CV interface be changed to do the while loop itself:
> template <typename Lock, typename Pred>
> void condition::wait(Lock &lock, Pred while_cond)
> {
> while (while_cond)
> {
> old_wait(lock);
> }
> }
> or something similar.
> Does that make sense?

Good sense. It is so:


#2 template<typename ScopedLock, typename Pred>
  void wait(ScopedLock& lock, Pred pred);

Requires: ScopedLock meets the ScopedLock requirements and the return
from pred() is convertible to bool.
Effects: As if: while (!pred()) wait(lock)
Throws: lock_error if !lock.locked()



Boost list run by bdawes at, gregod at, cpdaniel at, john at