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

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,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    string_view delim,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    const boost::basic_regex< char, Traits > & expr,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v1,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v1 && buffers,
    const boost::basic_regex< char, Traits > & expr,
    boost::system::error_code & ec,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 0,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 0,
    constraint_t< is_dynamic_buffer_v1< decay_t< DynamicBuffer_v1 > >::value >  = 0,
    constraint_t< !is_dynamic_buffer_v2< decay_t< DynamicBuffer_v1 > >::value >  = 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,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    const boost::basic_regex< char, Traits > & expr);
  » more...

template<
    typename SyncReadStream,
    typename Allocator,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    const boost::basic_regex< char, Traits > & 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 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,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 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,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    string_view delim,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 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,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 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,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    const boost::basic_regex< char, Traits > & expr,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 0);
  » more...

template<
    typename SyncReadStream,
    typename DynamicBuffer_v2,
    typename Traits>
std::size_t read_until(
    SyncReadStream & s,
    DynamicBuffer_v2 buffers,
    const boost::basic_regex< char, Traits > & expr,
    boost::system::error_code & ec,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 0,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 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,
    constraint_t< is_match_condition< MatchCondition >::value >  = 0,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 0);
  » more...
Requirements

Header: boost/asio/impl/read_until.hpp

Convenience header: boost/asio.hpp


PrevUpHomeNext