| Home | Libraries | People | FAQ | More

### read_until

Read data into a streambuf until it contains a delimiter, matches a regular expression, or a function object indicates a match.

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

    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);

    template<
        typename SyncReadStream,
        typename Allocator>
    std::size_t read_until(
        SyncReadStream & s,
        boost::asio::basic_streambuf< Allocator > & b,
        const std::string & delim);

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

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

    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);

    template<
        typename SyncReadStream,
        typename Allocator,
        typename MatchCondition>
    std::size_t read_until(
        SyncReadStream & s,
        boost::asio::basic_streambuf< Allocator > & b,
        MatchCondition match_condition,
        typename boost::enable_if< is_match_condition< MatchCondition > >::type *  = 0);

    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 boost::enable_if< is_match_condition< MatchCondition > >::type *  = 0);