...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
function is
a composed asynchronous operation that reads a certain amount of data from
a stream before completion.
Start an asynchronous operation to read a certain amount of data from a stream.
template< typename AsyncReadStream, typename MutableBufferSequence, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, const MutableBufferSequence & buffers, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_mutable_buffer_sequence< MutableBufferSequence >::value > = 0, constraint_t< !is_completion_condition< ReadToken >::value > = 0); » more... template< typename AsyncReadStream, typename MutableBufferSequence, typename CompletionCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, const MutableBufferSequence & buffers, CompletionCondition completion_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_mutable_buffer_sequence< MutableBufferSequence >::value > = 0, constraint_t< is_completion_condition< CompletionCondition >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v1, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, DynamicBuffer_v1 && buffers, 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, constraint_t< !is_completion_condition< ReadToken >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v1, typename CompletionCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, DynamicBuffer_v1 && buffers, CompletionCondition completion_condition, 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, constraint_t< is_completion_condition< CompletionCondition >::value > = 0); » more... template< typename AsyncReadStream, typename Allocator, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, basic_streambuf< Allocator > & b, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< !is_completion_condition< ReadToken >::value > = 0); » more... template< typename AsyncReadStream, typename Allocator, typename CompletionCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, basic_streambuf< Allocator > & b, CompletionCondition completion_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_completion_condition< CompletionCondition >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v2, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, DynamicBuffer_v2 buffers, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0, constraint_t< !is_completion_condition< ReadToken >::value > = 0); » more... template< typename AsyncReadStream, typename DynamicBuffer_v2, typename CompletionCondition, typename ReadToken = default_completion_token_t< typename AsyncReadStream::executor_type>> DEDUCED async_read( AsyncReadStream & s, DynamicBuffer_v2 buffers, CompletionCondition completion_condition, ReadToken && token = default_completion_token_t< typename AsyncReadStream::executor_type >(), constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value > = 0, constraint_t< is_completion_condition< CompletionCondition >::value > = 0); » more...
Header: boost/asio/read.hpp
Convenience header: boost/asio.hpp