...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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 enable_if< 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 enable_if< 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 enable_if< 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 enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBuffer> std::size_t read( SyncReadStream & s, DynamicBuffer && buffers, typename enable_if< is_dynamic_buffer< typename decay< DynamicBuffer >::type >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBuffer> std::size_t read( SyncReadStream & s, DynamicBuffer && buffers, boost::system::error_code & ec, typename enable_if< is_dynamic_buffer< typename decay< DynamicBuffer >::type >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBuffer, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer && buffers, CompletionCondition completion_condition, typename enable_if< is_dynamic_buffer< typename decay< DynamicBuffer >::type >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBuffer, typename CompletionCondition> std::size_t read( SyncReadStream & s, DynamicBuffer && buffers, CompletionCondition completion_condition, boost::system::error_code & ec, typename enable_if< is_dynamic_buffer< typename decay< DynamicBuffer >::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...
Header: boost/asio/read.hpp
Convenience header: boost/asio.hpp