...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The async_read_until
function
is a composed asynchronous operation that reads 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.
Start an asynchronous operation to read data into a dynamic buffer sequence until it contains a specified delimiter.
template< typename AsyncReadStream, typename DynamicBuffer_v1, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v1 && buffers, char delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value > = 0, constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v1, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v1 && buffers, string_view delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value > = 0, constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value > = 0); » more...
Start an asynchronous operation to read data into a dynamic buffer sequence until some part of its data matches a regular expression.
template< typename AsyncReadStream, typename DynamicBuffer_v1, typename Traits, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v1 && buffers, const boost::basic_regex< char, Traits > & expr, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value > = 0, constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value > = 0); » more...
Start an asynchronous operation to read data into a dynamic buffer sequence until a function object indicates a match.
template< typename AsyncReadStream, typename DynamicBuffer_v1, typename MatchCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v1 && buffers, MatchCondition match_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_match_condition< MatchCondition >::value > = 0, constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value > = 0, constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value > = 0); » more...
Start an asynchronous operation to read data into a streambuf until it contains a specified delimiter.
template< typename AsyncReadStream, typename Allocator, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, boost::asio::basic_streambuf< Allocator > & b, char delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >()); » more... template< typename AsyncReadStream, typename Allocator, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, boost::asio::basic_streambuf< Allocator > & b, string_view delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >()); » more...
Start an asynchronous operation to read data into a streambuf until some part of its data matches a regular expression.
template< typename AsyncReadStream, typename Allocator, typename Traits, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, boost::asio::basic_streambuf< Allocator > & b, const boost::basic_regex< char, Traits > & expr, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >()); » more...
Start an asynchronous operation to read data into a streambuf until a function object indicates a match.
template< typename AsyncReadStream, typename Allocator, typename MatchCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, boost::asio::basic_streambuf< Allocator > & b, MatchCondition match_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_match_condition< MatchCondition >::value > = 0); » more...
Start an asynchronous operation to read data into a dynamic buffer sequence until it contains a specified delimiter.
template< typename AsyncReadStream, typename DynamicBuffer_v2, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v2 buffers, char delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v2, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v2 buffers, string_view delim, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0); » more...
Start an asynchronous operation to read data into a dynamic buffer sequence until some part of its data matches a regular expression.
template< typename AsyncReadStream, typename DynamicBuffer_v2, typename Traits, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v2 buffers, const boost::basic_regex< char, Traits > & expr, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0); » more...
Start an asynchronous operation to read data into a dynamic buffer sequence until a function object indicates a match.
template< typename AsyncReadStream, typename DynamicBuffer_v2, typename MatchCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read_until( AsyncReadStream & s, DynamicBuffer_v2 buffers, MatchCondition match_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_match_condition< MatchCondition >::value > = 0, constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0); » more...
Header: boost/asio/read_until.hpp
Convenience header: boost/asio.hpp