### async_write_at

Start an asynchronous operation to write a certain amount of data at the specified offset.

    template<
        typename AsyncRandomAccessWriteDevice,
        typename ConstBufferSequence,
        typename WriteHandler>
    void async_write_at(
        AsyncRandomAccessWriteDevice & d,
        boost::uint64_t offset,
        const ConstBufferSequence & buffers,
        WriteHandler handler);

    template<
        typename AsyncRandomAccessWriteDevice,
        typename ConstBufferSequence,
        typename CompletionCondition,
        typename WriteHandler>
    void async_write_at(
        AsyncRandomAccessWriteDevice & d,
        boost::uint64_t offset,
        const ConstBufferSequence & buffers,
        CompletionCondition completion_condition,
        WriteHandler handler);

    template<
        typename AsyncRandomAccessWriteDevice,
        typename Allocator,
        typename WriteHandler>
    void async_write_at(
        AsyncRandomAccessWriteDevice & d,
        boost::uint64_t offset,
        basic_streambuf< Allocator > & b,
        WriteHandler handler);

    template<
        typename AsyncRandomAccessWriteDevice,
        typename Allocator,
        typename CompletionCondition,
        typename WriteHandler>
    void async_write_at(
        AsyncRandomAccessWriteDevice & d,
        boost::uint64_t offset,
        basic_streambuf< Allocator > & b,
        CompletionCondition completion_condition,
        WriteHandler handler);