3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>async_read</title>
5 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../boost_asio.html" title="Boost.Asio">
8 <link rel="up" href="../reference.html" title="Reference">
9 <link rel="prev" href="async_initiate.html" title="async_initiate">
10 <link rel="next" href="async_read/overload1.html" title="async_read (1 of 8 overloads)">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
15 <td align="center"><a href="../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="async_initiate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_asio.reference.async_read"></a><a class="link" href="async_read.html" title="async_read">async_read</a>
28 </h3></div></div></div>
30 <a class="indexterm" name="boost_asio.indexterm.async_read"></a>
31 The <code class="computeroutput">async_read</code> function
32 is a composed asynchronous operation that reads a certain amount of data
33 from a stream before completion.
36 Start an asynchronous operation to read a certain amount of data from a stream.
38 <pre class="programlisting">template<
39 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
40 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>,
41 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
42 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload1.html" title="async_read (1 of 8 overloads)">async_read</a>(
43 AsyncReadStream & s,
44 const MutableBufferSequence & buffers,
45 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
46 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0);
47 <span class="emphasis"><em>» <a class="link" href="async_read/overload1.html" title="async_read (1 of 8 overloads)">more...</a></em></span>
50 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
51 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>,
52 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>,
53 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
54 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload2.html" title="async_read (2 of 8 overloads)">async_read</a>(
55 AsyncReadStream & s,
56 const MutableBufferSequence & buffers,
57 CompletionCondition completion_condition,
58 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
59 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0);
60 <span class="emphasis"><em>» <a class="link" href="async_read/overload2.html" title="async_read (2 of 8 overloads)">more...</a></em></span>
63 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
64 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>,
65 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
66 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload3.html" title="async_read (3 of 8 overloads)">async_read</a>(
67 AsyncReadStream & s,
68 DynamicBuffer_v1 && buffers,
69 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
70 typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type * = 0);
71 <span class="emphasis"><em>» <a class="link" href="async_read/overload3.html" title="async_read (3 of 8 overloads)">more...</a></em></span>
74 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
75 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>,
76 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>,
77 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
78 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload4.html" title="async_read (4 of 8 overloads)">async_read</a>(
79 AsyncReadStream & s,
80 DynamicBuffer_v1 && buffers,
81 CompletionCondition completion_condition,
82 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
83 typename enable_if< is_dynamic_buffer_v1< typename decay< DynamicBuffer_v1 >::type >::value &&!is_dynamic_buffer_v2< typename decay< DynamicBuffer_v1 >::type >::value >::type * = 0);
84 <span class="emphasis"><em>» <a class="link" href="async_read/overload4.html" title="async_read (4 of 8 overloads)">more...</a></em></span>
87 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
89 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
90 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload5.html" title="async_read (5 of 8 overloads)">async_read</a>(
91 AsyncReadStream & s,
92 basic_streambuf< Allocator > & b,
93 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>);
94 <span class="emphasis"><em>» <a class="link" href="async_read/overload5.html" title="async_read (5 of 8 overloads)">more...</a></em></span>
97 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
99 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>,
100 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
101 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload6.html" title="async_read (6 of 8 overloads)">async_read</a>(
102 AsyncReadStream & s,
103 basic_streambuf< Allocator > & b,
104 CompletionCondition completion_condition,
105 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>);
106 <span class="emphasis"><em>» <a class="link" href="async_read/overload6.html" title="async_read (6 of 8 overloads)">more...</a></em></span>
109 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
110 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>,
111 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
112 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload7.html" title="async_read (7 of 8 overloads)">async_read</a>(
113 AsyncReadStream & s,
114 DynamicBuffer_v2 buffers,
115 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
116 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0);
117 <span class="emphasis"><em>» <a class="link" href="async_read/overload7.html" title="async_read (7 of 8 overloads)">more...</a></em></span>
120 typename <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
121 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>,
122 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>,
123 typename <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a> = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>>
124 <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> <a class="link" href="async_read/overload8.html" title="async_read (8 of 8 overloads)">async_read</a>(
125 AsyncReadStream & s,
126 DynamicBuffer_v2 buffers,
127 CompletionCondition completion_condition,
128 ReadHandler && handler = <a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>,
129 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0);
130 <span class="emphasis"><em>» <a class="link" href="async_read/overload8.html" title="async_read (8 of 8 overloads)">more...</a></em></span>
133 <a name="boost_asio.reference.async_read.h0"></a>
134 <span class="phrase"><a name="boost_asio.reference.async_read.requirements"></a></span><a class="link" href="async_read.html#boost_asio.reference.async_read.requirements">Requirements</a>
137 <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code>
140 <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
143 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
144 <td align="left"></td>
145 <td align="right"><div class="copyright-footer">Copyright © 2003-2019 Christopher M. Kohlhoff<p>
146 Distributed under the Boost Software License, Version 1.0. (See accompanying
147 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
152 <div class="spirit-nav">
153 <a accesskey="p" href="async_initiate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>