...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The read
function is a composed
operation that reads a certain amount of data from a stream before returning.
Attempt to read a certain amount of data from a stream before returning.
template< typename SyncReadStream, typename MutableBufferSequence> std::size_t read( SyncReadStream & s, const MutableBufferSequence & buffers, typename constraint< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type = 0); » more... template< typename SyncReadStream, typename MutableBufferSequence> std::size_t read( SyncReadStream & s, const MutableBufferSequence & buffers, boost::system::error_code & ec, typename constraint< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type = 0); » more... template< typename SyncReadStream, typename MutableBufferSequence, typename CompletionCondition> std::size_t read( SyncReadStream & s, const MutableBufferSequence & buffers, CompletionCondition completion_condition, typename constraint< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type = 0); » more... template< typename SyncReadStream, typename MutableBufferSequence, typename CompletionCondition> std::size_t read( SyncReadStream & s, const MutableBufferSequence & buffers, CompletionCondition completion_condition, boost::system::error_code & ec, typename constraint< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v1> std::size_t read( SyncReadStream & s, DynamicBuffer_v1 && buffers, typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0, typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v1> std::size_t read( SyncReadStream & s, DynamicBuffer_v1 && buffers, boost::system::error_code & ec, typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0, typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v1, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer_v1 && buffers, CompletionCondition completion_condition, typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0, typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v1, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer_v1 && buffers, CompletionCondition completion_condition, boost::system::error_code & ec, typename constraint< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0, typename constraint< !is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type = 0); » more... template< typename SyncReadStream, typename Allocator> std::size_t read( SyncReadStream & s, basic_streambuf< Allocator > & b); » more... template< typename SyncReadStream, typename Allocator> std::size_t read( SyncReadStream & s, basic_streambuf< Allocator > & b, boost::system::error_code & ec); » more... template< typename SyncReadStream, typename Allocator, typename CompletionCondition> std::size_t read( SyncReadStream & s, basic_streambuf< Allocator > & b, CompletionCondition completion_condition); » more... template< typename SyncReadStream, typename Allocator, typename CompletionCondition> std::size_t read( SyncReadStream & s, basic_streambuf< Allocator > & b, CompletionCondition completion_condition, boost::system::error_code & ec); » more... template< typename SyncReadStream, typename DynamicBuffer_v2> std::size_t read( SyncReadStream & s, DynamicBuffer_v2 buffers, typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v2> std::size_t read( SyncReadStream & s, DynamicBuffer_v2 buffers, boost::system::error_code & ec, typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v2, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer_v2 buffers, CompletionCondition completion_condition, typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type = 0); » more... template< typename SyncReadStream, typename DynamicBuffer_v2, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer_v2 buffers, CompletionCondition completion_condition, boost::system::error_code & ec, typename constraint< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type = 0); » more...
Header: boost/asio/read.hpp
Convenience header: boost/asio.hpp