Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

read_until

The read_until function is a composed 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.

Read data into a dynamic buffer sequence until it contains a specified delimiter.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    char delim,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    char delim,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    string_view delim,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    string_view delim,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

Read data into a dynamic buffer sequence until some part of the data it contains matches a regular expression.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    const boost::regex & expr,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    const boost::regex & expr,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

Read data into a dynamic buffer sequence until a function object indicates a match.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    MatchCondition match_condition,
    typename enable_if< is_match_condition< MatchCondition >::value &&is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    MatchCondition match_condition,
    boost::system::error_code & ec,
    typename enable_if< is_match_condition< MatchCondition >::value &&is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type *  = 0);
  » more...

Read data into a streambuf until it contains a specified delimiter.

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    char delim);
  » more...

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    char delim,
    boost::system::error_code & ec);
  » more...

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    string_view delim);
  » more...

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    string_view delim,
    boost::system::error_code & ec);
  » more...

Read data into a streambuf until some part of the data it contains matches a regular expression.

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    const boost::regex & expr);
  » more...

template<
    typename SyncReadStream,
    typename Allocator>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    const boost::regex & expr,
    boost::system::error_code & ec);
  » more...

Read data into a streambuf until a function object indicates a match.

template<
    typename SyncReadStream,
    typename Allocator,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    boost::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,
    boost::asio::basic_streambuf< Allocator > & b,
    MatchCondition match_condition,
    boost::system::error_code & ec,
    typename enable_if< is_match_condition< MatchCondition >::value >::type *  = 0);
  » more...

Read data into a dynamic buffer sequence until it contains a specified delimiter.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    char delim,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    char delim,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    string_view delim,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    string_view delim,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

Read data into a dynamic buffer sequence until some part of the data it contains matches a regular expression.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    const boost::regex & expr,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    const boost::regex & expr,
    boost::system::error_code & ec,
    typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

Read data into a dynamic buffer sequence until a function object indicates a match.

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    MatchCondition match_condition,
    typename enable_if< is_match_condition< MatchCondition >::value &&is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    MatchCondition match_condition,
    boost::system::error_code & ec,
    typename enable_if< is_match_condition< MatchCondition >::value &&is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type *  = 0);
  » more...
Requirements

Header: boost/asio/read_until.hpp

Convenience header: boost/asio.hpp


PrevUpHomeNext