1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>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="query_result/type.html" title="query_result::type"> 10<link rel="next" href="read/overload1.html" title="read (1 of 16 overloads)"> 11</head> 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> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="query_result/type.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="read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h3 class="title"> 27<a name="boost_asio.reference.read"></a><a class="link" href="read.html" title="read">read</a> 28</h3></div></div></div> 29<p> 30 <a class="indexterm" name="boost_asio.indexterm.read"></a> 31The <code class="computeroutput">read</code> function is a composed 32 operation that reads a certain amount of data from a stream before returning. 33 </p> 34<p> 35 Attempt to read a certain amount of data from a stream before returning. 36 </p> 37<pre class="programlisting">template< 38 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 39 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>> 40std::size_t <a class="link" href="read/overload1.html" title="read (1 of 16 overloads)">read</a>( 41 SyncReadStream & s, 42 const MutableBufferSequence & buffers, 43 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0); 44 <span class="emphasis"><em>» <a class="link" href="read/overload1.html" title="read (1 of 16 overloads)">more...</a></em></span> 45 46template< 47 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 48 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>> 49std::size_t <a class="link" href="read/overload2.html" title="read (2 of 16 overloads)">read</a>( 50 SyncReadStream & s, 51 const MutableBufferSequence & buffers, 52 boost::system::error_code & ec, 53 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0); 54 <span class="emphasis"><em>» <a class="link" href="read/overload2.html" title="read (2 of 16 overloads)">more...</a></em></span> 55 56template< 57 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 58 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>, 59 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 60std::size_t <a class="link" href="read/overload3.html" title="read (3 of 16 overloads)">read</a>( 61 SyncReadStream & s, 62 const MutableBufferSequence & buffers, 63 CompletionCondition completion_condition, 64 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0); 65 <span class="emphasis"><em>» <a class="link" href="read/overload3.html" title="read (3 of 16 overloads)">more...</a></em></span> 66 67template< 68 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 69 typename <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>, 70 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 71std::size_t <a class="link" href="read/overload4.html" title="read (4 of 16 overloads)">read</a>( 72 SyncReadStream & s, 73 const MutableBufferSequence & buffers, 74 CompletionCondition completion_condition, 75 boost::system::error_code & ec, 76 typename enable_if< is_mutable_buffer_sequence< MutableBufferSequence >::value >::type * = 0); 77 <span class="emphasis"><em>» <a class="link" href="read/overload4.html" title="read (4 of 16 overloads)">more...</a></em></span> 78 79template< 80 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 81 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>> 82std::size_t <a class="link" href="read/overload5.html" title="read (5 of 16 overloads)">read</a>( 83 SyncReadStream & s, 84 DynamicBuffer_v1 && buffers, 85 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); 86 <span class="emphasis"><em>» <a class="link" href="read/overload5.html" title="read (5 of 16 overloads)">more...</a></em></span> 87 88template< 89 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 90 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>> 91std::size_t <a class="link" href="read/overload6.html" title="read (6 of 16 overloads)">read</a>( 92 SyncReadStream & s, 93 DynamicBuffer_v1 && buffers, 94 boost::system::error_code & ec, 95 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); 96 <span class="emphasis"><em>» <a class="link" href="read/overload6.html" title="read (6 of 16 overloads)">more...</a></em></span> 97 98template< 99 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 100 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>, 101 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 102std::size_t <a class="link" href="read/overload7.html" title="read (7 of 16 overloads)">read</a>( 103 SyncReadStream & s, 104 DynamicBuffer_v1 && buffers, 105 CompletionCondition completion_condition, 106 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); 107 <span class="emphasis"><em>» <a class="link" href="read/overload7.html" title="read (7 of 16 overloads)">more...</a></em></span> 108 109template< 110 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 111 typename <a class="link" href="DynamicBuffer_v1.html" title="Dynamic buffer requirements (version 1)">DynamicBuffer_v1</a>, 112 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 113std::size_t <a class="link" href="read/overload8.html" title="read (8 of 16 overloads)">read</a>( 114 SyncReadStream & s, 115 DynamicBuffer_v1 && buffers, 116 CompletionCondition completion_condition, 117 boost::system::error_code & ec, 118 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); 119 <span class="emphasis"><em>» <a class="link" href="read/overload8.html" title="read (8 of 16 overloads)">more...</a></em></span> 120 121template< 122 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 123 typename Allocator> 124std::size_t <a class="link" href="read/overload9.html" title="read (9 of 16 overloads)">read</a>( 125 SyncReadStream & s, 126 basic_streambuf< Allocator > & b); 127 <span class="emphasis"><em>» <a class="link" href="read/overload9.html" title="read (9 of 16 overloads)">more...</a></em></span> 128 129template< 130 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 131 typename Allocator> 132std::size_t <a class="link" href="read/overload10.html" title="read (10 of 16 overloads)">read</a>( 133 SyncReadStream & s, 134 basic_streambuf< Allocator > & b, 135 boost::system::error_code & ec); 136 <span class="emphasis"><em>» <a class="link" href="read/overload10.html" title="read (10 of 16 overloads)">more...</a></em></span> 137 138template< 139 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 140 typename Allocator, 141 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 142std::size_t <a class="link" href="read/overload11.html" title="read (11 of 16 overloads)">read</a>( 143 SyncReadStream & s, 144 basic_streambuf< Allocator > & b, 145 CompletionCondition completion_condition); 146 <span class="emphasis"><em>» <a class="link" href="read/overload11.html" title="read (11 of 16 overloads)">more...</a></em></span> 147 148template< 149 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 150 typename Allocator, 151 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 152std::size_t <a class="link" href="read/overload12.html" title="read (12 of 16 overloads)">read</a>( 153 SyncReadStream & s, 154 basic_streambuf< Allocator > & b, 155 CompletionCondition completion_condition, 156 boost::system::error_code & ec); 157 <span class="emphasis"><em>» <a class="link" href="read/overload12.html" title="read (12 of 16 overloads)">more...</a></em></span> 158 159template< 160 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 161 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>> 162std::size_t <a class="link" href="read/overload13.html" title="read (13 of 16 overloads)">read</a>( 163 SyncReadStream & s, 164 DynamicBuffer_v2 buffers, 165 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0); 166 <span class="emphasis"><em>» <a class="link" href="read/overload13.html" title="read (13 of 16 overloads)">more...</a></em></span> 167 168template< 169 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 170 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>> 171std::size_t <a class="link" href="read/overload14.html" title="read (14 of 16 overloads)">read</a>( 172 SyncReadStream & s, 173 DynamicBuffer_v2 buffers, 174 boost::system::error_code & ec, 175 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0); 176 <span class="emphasis"><em>» <a class="link" href="read/overload14.html" title="read (14 of 16 overloads)">more...</a></em></span> 177 178template< 179 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 180 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>, 181 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 182std::size_t <a class="link" href="read/overload15.html" title="read (15 of 16 overloads)">read</a>( 183 SyncReadStream & s, 184 DynamicBuffer_v2 buffers, 185 CompletionCondition completion_condition, 186 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0); 187 <span class="emphasis"><em>» <a class="link" href="read/overload15.html" title="read (15 of 16 overloads)">more...</a></em></span> 188 189template< 190 typename <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>, 191 typename <a class="link" href="DynamicBuffer_v2.html" title="Dynamic buffer requirements (version 2)">DynamicBuffer_v2</a>, 192 typename <a class="link" href="CompletionCondition.html" title="Completion condition requirements">CompletionCondition</a>> 193std::size_t <a class="link" href="read/overload16.html" title="read (16 of 16 overloads)">read</a>( 194 SyncReadStream & s, 195 DynamicBuffer_v2 buffers, 196 CompletionCondition completion_condition, 197 boost::system::error_code & ec, 198 typename enable_if< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >::type * = 0); 199 <span class="emphasis"><em>» <a class="link" href="read/overload16.html" title="read (16 of 16 overloads)">more...</a></em></span> 200</pre> 201<h5> 202<a name="boost_asio.reference.read.h0"></a> 203 <span class="phrase"><a name="boost_asio.reference.read.requirements"></a></span><a class="link" href="read.html#boost_asio.reference.read.requirements">Requirements</a> 204 </h5> 205<p> 206 <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code> 207 </p> 208<p> 209 <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code> 210 </p> 211</div> 212<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 213<td align="left"></td> 214<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M. 215 Kohlhoff<p> 216 Distributed under the Boost Software License, Version 1.0. (See accompanying 217 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>) 218 </p> 219</div></td> 220</tr></table> 221<hr> 222<div class="spirit-nav"> 223<a accesskey="p" href="query_result/type.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="read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 224</div> 225</body> 226</html> 227