|  | Home | Libraries | People | FAQ | More | 
          The boost::asio::use_future special value provides first-class
          support for returning a C++11 std::future
          from an asynchronous operation's initiating function.
        
          To use boost::asio::use_future, pass it to an asynchronous
          operation instead of a normal completion handler. For example:
        
std::future<std::size_t> length = my_socket.async_read_some(my_buffer, boost::asio::use_future);
Where a handler signature has the form:
void handler(boost::system::error_code ec, result_type result);
          the initiating function returns a std::future
          templated on result_type.
          In the above example, this is std::size_t.
          If the asynchronous operation fails, the error_code
          is converted into a system_error
          exception and passed back to the caller through the future.
        
Where a handler signature has the form:
void handler(boost::system::error_code ec);
          the initiating function returns std::future<void>. As above, an error is passed back
          in the future as a system_error
          exception.