### async_read_at

The `async_read_at` function is a composed asynchronous operation that reads a certain amount of data at the specified offset.

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

    template<
        typename AsyncRandomAccessReadDevice,
        typename MutableBufferSequence,
        typename ReadHandler = DEFAULT>
    DEDUCED async_read_at(
        AsyncRandomAccessReadDevice & d,
        uint64_t offset,
        const MutableBufferSequence & buffers,
        ReadHandler && handler = DEFAULT);
      » more...

    template<
        typename AsyncRandomAccessReadDevice,
        typename MutableBufferSequence,
        typename CompletionCondition,
        typename ReadHandler = DEFAULT>
    DEDUCED async_read_at(
        AsyncRandomAccessReadDevice & d,
        uint64_t offset,
        const MutableBufferSequence & buffers,
        CompletionCondition completion_condition,
        ReadHandler && handler = DEFAULT);
      » more...

    template<
        typename AsyncRandomAccessReadDevice,
        typename Allocator,
        typename ReadHandler = DEFAULT>
    DEDUCED async_read_at(
        AsyncRandomAccessReadDevice & d,
        uint64_t offset,
        basic_streambuf< Allocator > & b,
        ReadHandler && handler = DEFAULT);
      » more...

    template<
        typename AsyncRandomAccessReadDevice,
        typename Allocator,
        typename CompletionCondition,
        typename ReadHandler = DEFAULT>
    DEDUCED async_read_at(
        AsyncRandomAccessReadDevice & d,
        uint64_t offset,
        basic_streambuf< Allocator > & b,
        CompletionCondition completion_condition,
        ReadHandler && handler = DEFAULT);
      » more...

##### Requirements

Header: `asio/read_at.hpp`

Convenience header: `asio.hpp`