Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-06-20 07:06:42


explicit thread::thread(const boost::function0<void>& threadfunc);

Shouldn't this be

template<class F> explicit thread::thread(F threadfunc);

As it is, implementors are forced to roll their own function0<void>. (How
does CoreX deal with this?)


Has it been pointed out that the current mutex/scoped_lock model is
equivalent in expressive power to a mutex with public lock/unlock methods?

class my_mutex
    mutex m;
    mutex::scoped_lock l;


    my_mutex(): l(m, false) {}

    void lock() { l.lock(); }
    void unlock() { l.unlock(); }

3. Speaking of template<class F>, are there plans to extend boost::once to
accept function objects?

template<class F> void once(F f, once_flag & flag);

Minor documentation details (once.html): 'implementation defined' should be
'unspecified'; the Effects/Posconditions imply that once_flag is equality
comparable, is this intentional?

4. Are there plans to supply a statically initialized mutex, to avoid init
order problems?

(BTW, 3 can be implemented given 4, and vice versa, but neither can be
implemented efficiently on top of the current architecture AFAICS.)

5. Are there plans to integrate detail::lightweight_mutex with

Peter Dimov

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