The Boost.Thread library specification for the move constructor states for
Move Constructor:
Effects: Transfers ownership of the thread managed by other (if any) to the newly constructed boost::thread instance.
whereas for Move Assignment :
Transfers ownership of the thread managed by other (if any) to *this. If there was a thread previously associated with *this then that thread is detached.
Clearly, for move assignment it is explicitly stated that previous thread object becomes detached.
Since the copying of boost::thread object has not been defined, and only moving of ownership is possible, does this mean that with Move Constructor, the previous owner thread does not become detached?
Or is this simply a documentation oversight?
You're misunderstanding. Label your thread objects A and B, and the actual thread T.
If B owns T, move constructing A from B means A now owns T, and B owns nothing.
If B owns T, move assigning A from B means A now owns T, and B owns nothing, and whatever A had previously owned is not owned by anything (aka, detached).