### async_read_until

Start an asynchronous operation to read data into a dynamic buffer sequence, or into a streambuf, until it contains a delimiter, matches a regular expression, or a function object indicates a match.

    template<
        typename AsyncReadStream,
        typename DynamicBuffer,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        DynamicBuffer && buffers,
        char delim,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename DynamicBuffer,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        DynamicBuffer && buffers,
        string_view delim,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename DynamicBuffer,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        DynamicBuffer && buffers,
        const boost::regex & expr,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename DynamicBuffer,
        typename MatchCondition,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        DynamicBuffer && buffers,
        MatchCondition match_condition,
        ReadHandler && handler,
        typename enable_if< is_match_condition< MatchCondition >::value >::type *  = 0);
      » more...

    template<
        typename AsyncReadStream,
        typename Allocator,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        asio::basic_streambuf< Allocator > & b,
        char delim,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename Allocator,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        asio::basic_streambuf< Allocator > & b,
        string_view delim,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename Allocator,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        asio::basic_streambuf< Allocator > & b,
        const boost::regex & expr,
        ReadHandler && handler);
      » more...

    template<
        typename AsyncReadStream,
        typename Allocator,
        typename MatchCondition,
        typename ReadHandler>
    DEDUCED async_read_until(
        AsyncReadStream & s,
        asio::basic_streambuf< Allocator > & b,
        MatchCondition match_condition,
        ReadHandler && handler,
        typename enable_if< is_match_condition< MatchCondition >::value >::type *  = 0);
      » more...

##### Requirements

Header: `asio/read_until.hpp`

Convenience header: `asio.hpp`