00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ASIO_READ_UNTIL_HPP
00012 #define ASIO_READ_UNTIL_HPP
00013
00014 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
00015 # pragma once
00016 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
00017
00018 #include "asio/detail/push_options.hpp"
00019
00020 #include "asio/detail/push_options.hpp"
00021 #include <cstddef>
00022 #include <boost/config.hpp>
00023 #include <boost/regex.hpp>
00024 #include <string>
00025 #include "asio/detail/pop_options.hpp"
00026
00027 #include "asio/basic_streambuf.hpp"
00028 #include "asio/error.hpp"
00029
00030 namespace asio {
00031
00036
00038
00071 template <typename SyncReadStream, typename Allocator>
00072 std::size_t read_until(SyncReadStream& s,
00073 asio::basic_streambuf<Allocator>& b, char delim);
00074
00076
00101 template <typename SyncReadStream, typename Allocator>
00102 std::size_t read_until(SyncReadStream& s,
00103 asio::basic_streambuf<Allocator>& b, char delim,
00104 asio::error_code& ec);
00105
00107
00140 template <typename SyncReadStream, typename Allocator>
00141 std::size_t read_until(SyncReadStream& s,
00142 asio::basic_streambuf<Allocator>& b, const std::string& delim);
00143
00145
00170 template <typename SyncReadStream, typename Allocator>
00171 std::size_t read_until(SyncReadStream& s,
00172 asio::basic_streambuf<Allocator>& b, const std::string& delim,
00173 asio::error_code& ec);
00174
00176
00209 template <typename SyncReadStream, typename Allocator>
00210 std::size_t read_until(SyncReadStream& s,
00211 asio::basic_streambuf<Allocator>& b, const boost::regex& expr);
00212
00214
00240 template <typename SyncReadStream, typename Allocator>
00241 std::size_t read_until(SyncReadStream& s,
00242 asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
00243 asio::error_code& ec);
00244
00250
00253
00309 template <typename AsyncReadStream, typename Allocator, typename ReadHandler>
00310 void async_read_until(AsyncReadStream& s,
00311 asio::basic_streambuf<Allocator>& b,
00312 char delim, ReadHandler handler);
00313
00316
00372 template <typename AsyncReadStream, typename Allocator, typename ReadHandler>
00373 void async_read_until(AsyncReadStream& s,
00374 asio::basic_streambuf<Allocator>& b, const std::string& delim,
00375 ReadHandler handler);
00376
00379
00439 template <typename AsyncReadStream, typename Allocator, typename ReadHandler>
00440 void async_read_until(AsyncReadStream& s,
00441 asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
00442 ReadHandler handler);
00443
00446 }
00447
00448 #include "asio/impl/read_until.ipp"
00449
00450 #include "asio/detail/pop_options.hpp"
00451
00452 #endif // ASIO_READ_UNTIL_HPP