
Frank Mori Hess <frank.hess <at> nist.gov> writes:
On Monday 17 December 2007 09:59 am, Anthony Williams wrote:
I have removed detail::thread_move(). Instead, I've added boost::move overloads for the movable types in boost.thread: thread, unique_lock<>, shared_lock<>, upgrade_lock<>. Since these overloads take specific parameter types, they shouldn't cause the problems that the unconstrained template caused before.
Have you considered making the mutex types movable? I'm working on some mutex wrapper classes and it would be nice to be able to move construct the wrapper from an object of its templated mutex type, instead of assuming the mutex type is going to be default constructible.
On POSIX, mutex types are not movable. Making boost::mutex movable would mean that either we could not use pthread_mutex_t internally, or we would have to dynamically allocate it. I don't think it makes sense to restrict the implementation in that way. Anthony