00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ASIO_READ_HPP
00012 #define ASIO_READ_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 "asio/detail/pop_options.hpp"
00024
00025 #include "asio/basic_streambuf.hpp"
00026 #include "asio/error.hpp"
00027
00028 namespace asio {
00029
00034
00036
00071 template <typename SyncReadStream, typename MutableBufferSequence>
00072 std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers);
00073
00075
00119 template <typename SyncReadStream, typename MutableBufferSequence,
00120 typename CompletionCondition>
00121 std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
00122 CompletionCondition completion_condition);
00123
00125
00162 template <typename SyncReadStream, typename MutableBufferSequence,
00163 typename CompletionCondition>
00164 std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
00165 CompletionCondition completion_condition, asio::error_code& ec);
00166
00168
00191 template <typename SyncReadStream, typename Allocator>
00192 std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b);
00193
00195
00226 template <typename SyncReadStream, typename Allocator,
00227 typename CompletionCondition>
00228 std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
00229 CompletionCondition completion_condition);
00230
00232
00264 template <typename SyncReadStream, typename Allocator,
00265 typename CompletionCondition>
00266 std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
00267 CompletionCondition completion_condition, asio::error_code& ec);
00268
00274
00277
00332 template <typename AsyncReadStream, typename MutableBufferSequence,
00333 typename ReadHandler>
00334 void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers,
00335 ReadHandler handler);
00336
00339
00400 template <typename AsyncReadStream, typename MutableBufferSequence,
00401 typename CompletionCondition, typename ReadHandler>
00402 void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers,
00403 CompletionCondition completion_condition, ReadHandler handler);
00404
00407
00448 template <typename AsyncReadStream, typename Allocator, typename ReadHandler>
00449 void async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b,
00450 ReadHandler handler);
00451
00454
00503 template <typename AsyncReadStream, typename Allocator,
00504 typename CompletionCondition, typename ReadHandler>
00505 void async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b,
00506 CompletionCondition completion_condition, ReadHandler handler);
00507
00510 }
00511
00512 #include "asio/impl/read.ipp"
00513
00514 #include "asio/detail/pop_options.hpp"
00515
00516 #endif // ASIO_READ_HPP