
18 Dec
2007
18 Dec
'07
8:07 p.m.
Anthony Williams wrote:
Andrey Semashev <andysem@mail.ru> writes:
We could just have boost::thread_move become a documented public interface, and have the type remain in boost::detail (since it *is* an implementation detail). Actually, I used it to move locks, which don't have a move member. I worked around this issue by using defer_lock_t and swap but it looks clumsy and I would surely prefer using move in such cases.
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.
Thanks, nice solution.