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 SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, char delim); » more... template< typename SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, char delim, asio::error_code & ec); » more... template< typename SyncReadStream, typename DynamicBufferSequence, typename Allocator> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const std::basic_string< char, std::char_traits< char >, Allocator > & delim); » more... template< typename SyncReadStream, typename DynamicBufferSequence, typename Allocator> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const std::basic_string< char, std::char_traits< char >, Allocator > & delim, asio::error_code & ec); » more... template< typename SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const boost::regex & expr); » more... template< typename SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const boost::regex & expr, asio::error_code & ec); » more... template< typename SyncReadStream, typename DynamicBufferSequence, typename MatchCondition> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, MatchCondition match_condition, typename enable_if< is_match_condition< MatchCondition >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBufferSequence, typename MatchCondition> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, MatchCondition match_condition, asio::error_code & ec, typename enable_if< is_match_condition< MatchCondition >::value >::type * = 0); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, char delim); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, char delim, asio::error_code & ec); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, const std::string & delim); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, const std::string & delim, asio::error_code & ec); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, const boost::regex & expr); » more... template< typename SyncReadStream, typename Allocator> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, const boost::regex & expr, asio::error_code & ec); » more... template< typename SyncReadStream, typename Allocator, typename MatchCondition> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, MatchCondition match_condition, typename enable_if< is_match_condition< MatchCondition >::value >::type * = 0); » more... template< typename SyncReadStream, typename Allocator, typename MatchCondition> std::size_t read_until( SyncReadStream & s, asio::basic_streambuf< Allocator > & b, MatchCondition match_condition, asio::error_code & ec, typename enable_if< is_match_condition< MatchCondition >::value >::type * = 0); » more... template< typename SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const std::string & delim); » more... template< typename SyncReadStream, typename DynamicBufferSequence> std::size_t read_until( SyncReadStream & s, DynamicBufferSequence && buffers, const std::string & delim, asio::error_code & ec); » more...
Header: asio/read_until.hpp
Convenience header: asio.hpp