| 818 | std::size_t)) WriteToken |
| 819 | = default_completion_token_t<typename AsyncWriteStream::executor_type>> |
| 820 | inline auto async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers, |
| 821 | WriteToken&& token |
| 822 | = default_completion_token_t<typename AsyncWriteStream::executor_type>(), |
| 823 | constraint_t< |
| 824 | is_const_buffer_sequence<ConstBufferSequence>::value |
| 825 | > = 0, |
| 826 | constraint_t< |
| 827 | !is_completion_condition<decay_t<WriteToken>>::value |
| 828 | > = 0) |
| 829 | -> decltype( |
| 830 | async_initiate<WriteToken, |
| 831 | void (boost::system::error_code, std::size_t)>( |
| 832 | declval<detail::initiate_async_write<AsyncWriteStream>>(), |
| 833 | token, buffers, transfer_all())) |
| 834 | { |
| 835 | return async_initiate<WriteToken, |
| 836 | void (boost::system::error_code, std::size_t)>( |
| 837 | detail::initiate_async_write<AsyncWriteStream>(s), |
| 838 | token, buffers, transfer_all()); |
| 839 | } |
| 840 | |
| 841 | /// Start an asynchronous operation to write a certain amount of data to a |
| 842 | /// stream. |