00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ASIO_WRITE_HPP
00012 #define ASIO_WRITE_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 SyncWriteStream, typename ConstBufferSequence>
00072 std::size_t write(SyncWriteStream& s, const ConstBufferSequence& buffers);
00073
00075
00120 template <typename SyncWriteStream, typename ConstBufferSequence,
00121 typename CompletionCondition>
00122 std::size_t write(SyncWriteStream& s, const ConstBufferSequence& buffers,
00123 CompletionCondition completion_condition);
00124
00126
00164 template <typename SyncWriteStream, typename ConstBufferSequence,
00165 typename CompletionCondition>
00166 std::size_t write(SyncWriteStream& s, const ConstBufferSequence& buffers,
00167 CompletionCondition completion_condition, asio::error_code& ec);
00168
00170
00195 template <typename SyncWriteStream, typename Allocator>
00196 std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b);
00197
00199
00233 template <typename SyncWriteStream, typename Allocator,
00234 typename CompletionCondition>
00235 std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b,
00236 CompletionCondition completion_condition);
00237
00239
00274 template <typename SyncWriteStream, typename Allocator,
00275 typename CompletionCondition>
00276 std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b,
00277 CompletionCondition completion_condition, asio::error_code& ec);
00278
00284
00287
00334 template <typename AsyncWriteStream, typename ConstBufferSequence,
00335 typename WriteHandler>
00336 void async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,
00337 WriteHandler handler);
00338
00341
00403 template <typename AsyncWriteStream, typename ConstBufferSequence,
00404 typename CompletionCondition, typename WriteHandler>
00405 void async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,
00406 CompletionCondition completion_condition, WriteHandler handler);
00407
00410
00446 template <typename AsyncWriteStream, typename Allocator, typename WriteHandler>
00447 void async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,
00448 WriteHandler handler);
00449
00452
00502 template <typename AsyncWriteStream, typename Allocator,
00503 typename CompletionCondition, typename WriteHandler>
00504 void async_write(AsyncWriteStream& s, basic_streambuf<Allocator>& b,
00505 CompletionCondition completion_condition, WriteHandler handler);
00506
00509 }
00510
00511 #include "asio/impl/write.ipp"
00512
00513 #include "asio/detail/pop_options.hpp"
00514
00515 #endif // ASIO_WRITE_HPP