### async_write

The `async_write` function is a composed asynchronous operation that writes a certain amount of data to a stream before completion.

Start an asynchronous operation to write all of the supplied data to a stream.

    template<
        typename AsyncWriteStream,
        typename ConstBufferSequence,
        typename WriteToken = DEFAULT>
    DEDUCED async_write(
        AsyncWriteStream & s,
        const ConstBufferSequence & buffers,
        WriteToken && token = DEFAULT,
        typename constraint< is_const_buffer_sequence< ConstBufferSequence >::value >::type  = 0);
      » more...

Start an asynchronous operation to write a certain amount of data to a stream.

    template<
        typename AsyncWriteStream,
        typename ConstBufferSequence,
        typename CompletionCondition,
        typename WriteToken>
    DEDUCED async_write(
        AsyncWriteStream & s,
        const ConstBufferSequence & buffers,
        CompletionCondition completion_condition,
        WriteToken && token,
        typename constraint< is_const_buffer_sequence< ConstBufferSequence >::value >::type  = 0);
      » more...

Start an asynchronous operation to write all of the supplied data to a stream.

    template<
        typename AsyncWriteStream,
        typename DynamicBuffer_v1,
        typename WriteToken = DEFAULT>
    DEDUCED async_write(
        AsyncWriteStream & s,
        DynamicBuffer_v1 && buffers,
        WriteToken && token = DEFAULT,
        typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type  = 0,
        typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type  = 0);
      » more...

Start an asynchronous operation to write a certain amount of data to a stream.

    template<
        typename AsyncWriteStream,
        typename DynamicBuffer_v1,
        typename CompletionCondition,
        typename WriteToken>
    DEDUCED async_write(
        AsyncWriteStream & s,
        DynamicBuffer_v1 && buffers,
        CompletionCondition completion_condition,
        WriteToken && token,
        typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type  = 0,
        typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type  = 0);
      » more...

Start an asynchronous operation to write all of the supplied data to a stream.

    template<
        typename AsyncWriteStream,
        typename Allocator,
        typename WriteToken = DEFAULT>
    DEDUCED async_write(
        AsyncWriteStream & s,
        basic_streambuf< Allocator > & b,
        WriteToken && token = DEFAULT);
      » more...

Start an asynchronous operation to write a certain amount of data to a stream.

    template<
        typename AsyncWriteStream,
        typename Allocator,
        typename CompletionCondition,
        typename WriteToken>
    DEDUCED async_write(
        AsyncWriteStream & s,
        basic_streambuf< Allocator > & b,
        CompletionCondition completion_condition,
        WriteToken && token);
      » more...

Start an asynchronous operation to write all of the supplied data to a stream.

    template<
        typename AsyncWriteStream,
        typename DynamicBuffer_v2,
        typename WriteToken = DEFAULT>
    DEDUCED async_write(
        AsyncWriteStream & s,
        DynamicBuffer_v2 buffers,
        WriteToken && token = DEFAULT,
        typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type  = 0);
      » more...

Start an asynchronous operation to write a certain amount of data to a stream.

    template<
        typename AsyncWriteStream,
        typename DynamicBuffer_v2,
        typename CompletionCondition,
        typename WriteToken>
    DEDUCED async_write(
        AsyncWriteStream & s,
        DynamicBuffer_v2 buffers,
        CompletionCondition completion_condition,
        WriteToken && token,
        typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type  = 0);
      » more...

##### Requirements

Header: `asio/write.hpp`

Convenience header: `asio.hpp`