title: Detaching a native socket from Boost.ASIO's socket class
body: <p>Is it possible to detach a native socket from Boost.ASIO's socket class? If so, how can it be done? I can't seem to find anything obvious in the documentation.</p>
  
  <p>As a quick overview of what I'm trying to accomplish: I have a class that makes a connection and does some negotiation using Boost.ASIO, then passes back a native Windows SOCKET on success or 0 on failure.</p>
  
  <p>Unless I'm mistaken, the native socket will be closed and deallocated when my boost::asio::basic_socket is destructed.</p>