Imported Upstream version 1.72.0
[platform/upstream/boost.git] / doc / html / boost_asio / reference / posix__basic_stream_descriptor.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>posix::basic_stream_descriptor</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="posix__basic_descriptor__rebind_executor/other.html" title="posix::basic_descriptor::rebind_executor::other">
10 <link rel="next" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign">
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="posix__basic_descriptor__rebind_executor/other.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="posix__basic_stream_descriptor/assign.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.posix__basic_stream_descriptor"></a><a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a>
28 </h3></div></div></div>
29 <p>
30         Provides stream-oriented descriptor functionality.
31       </p>
32 <pre class="programlisting">template&lt;
33     typename <a class="link" href="Executor1.html" title="Executor requirements">Executor</a> = executor&gt;
34 class basic_stream_descriptor :
35   public posix::basic_descriptor&lt; Executor &gt;
36 </pre>
37 <h5>
38 <a name="boost_asio.reference.posix__basic_stream_descriptor.h0"></a>
39         <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.types"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.types">Types</a>
40       </h5>
41 <div class="informaltable"><table class="table">
42 <colgroup>
43 <col>
44 <col>
45 </colgroup>
46 <thead><tr>
47 <th>
48                 <p>
49                   Name
50                 </p>
51               </th>
52 <th>
53                 <p>
54                   Description
55                 </p>
56               </th>
57 </tr></thead>
58 <tbody>
59 <tr>
60 <td>
61                 <p>
62                   <a class="link" href="posix__basic_stream_descriptor__rebind_executor.html" title="posix::basic_stream_descriptor::rebind_executor"><span class="bold"><strong>rebind_executor</strong></span></a>
63                 </p>
64               </td>
65 <td>
66                 <p>
67                   Rebinds the descriptor type to another executor.
68                 </p>
69               </td>
70 </tr>
71 <tr>
72 <td>
73                 <p>
74                   <a class="link" href="posix__basic_stream_descriptor/bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
75                 </p>
76               </td>
77 <td>
78                 <p>
79                   IO control command to get the amount of data that can be read without
80                   blocking.
81                 </p>
82               </td>
83 </tr>
84 <tr>
85 <td>
86                 <p>
87                   <a class="link" href="posix__basic_stream_descriptor/executor_type.html" title="posix::basic_stream_descriptor::executor_type"><span class="bold"><strong>executor_type</strong></span></a>
88                 </p>
89               </td>
90 <td>
91                 <p>
92                   The type of the executor associated with the object.
93                 </p>
94               </td>
95 </tr>
96 <tr>
97 <td>
98                 <p>
99                   <a class="link" href="posix__basic_stream_descriptor/lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
100                 </p>
101               </td>
102 <td>
103                 <p>
104                   A descriptor is always the lowest layer.
105                 </p>
106               </td>
107 </tr>
108 <tr>
109 <td>
110                 <p>
111                   <a class="link" href="posix__basic_stream_descriptor/native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
112                 </p>
113               </td>
114 <td>
115                 <p>
116                   The native representation of a descriptor.
117                 </p>
118               </td>
119 </tr>
120 <tr>
121 <td>
122                 <p>
123                   <a class="link" href="posix__basic_stream_descriptor/wait_type.html" title="posix::basic_stream_descriptor::wait_type"><span class="bold"><strong>wait_type</strong></span></a>
124                 </p>
125               </td>
126 <td>
127                 <p>
128                   Wait types.
129                 </p>
130               </td>
131 </tr>
132 </tbody>
133 </table></div>
134 <h5>
135 <a name="boost_asio.reference.posix__basic_stream_descriptor.h1"></a>
136         <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.member_functions"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.member_functions">Member
137         Functions</a>
138       </h5>
139 <div class="informaltable"><table class="table">
140 <colgroup>
141 <col>
142 <col>
143 </colgroup>
144 <thead><tr>
145 <th>
146                 <p>
147                   Name
148                 </p>
149               </th>
150 <th>
151                 <p>
152                   Description
153                 </p>
154               </th>
155 </tr></thead>
156 <tbody>
157 <tr>
158 <td>
159                 <p>
160                   <a class="link" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
161                 </p>
162               </td>
163 <td>
164                 <p>
165                   Assign an existing native descriptor to the descriptor.
166                 </p>
167               </td>
168 </tr>
169 <tr>
170 <td>
171                 <p>
172                   <a class="link" href="posix__basic_stream_descriptor/async_read_some.html" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
173                 </p>
174               </td>
175 <td>
176                 <p>
177                   Start an asynchronous read.
178                 </p>
179               </td>
180 </tr>
181 <tr>
182 <td>
183                 <p>
184                   <a class="link" href="posix__basic_stream_descriptor/async_wait.html" title="posix::basic_stream_descriptor::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
185                 </p>
186               </td>
187 <td>
188                 <p>
189                   Asynchronously wait for the descriptor to become ready to read,
190                   ready to write, or to have pending error conditions.
191                 </p>
192               </td>
193 </tr>
194 <tr>
195 <td>
196                 <p>
197                   <a class="link" href="posix__basic_stream_descriptor/async_write_some.html" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
198                 </p>
199               </td>
200 <td>
201                 <p>
202                   Start an asynchronous write.
203                 </p>
204               </td>
205 </tr>
206 <tr>
207 <td>
208                 <p>
209                   <a class="link" href="posix__basic_stream_descriptor/basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a>
210                 </p>
211               </td>
212 <td>
213                 <p>
214                   Construct a stream descriptor without opening it. <br> <span class="silver"> &#8212;</span><br>
215                   Construct a stream descriptor on an existing native descriptor.
216                   <br> <span class="silver"> &#8212;</span><br> Move-construct a stream descriptor from another.
217                 </p>
218               </td>
219 </tr>
220 <tr>
221 <td>
222                 <p>
223                   <a class="link" href="posix__basic_stream_descriptor/cancel.html" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
224                 </p>
225               </td>
226 <td>
227                 <p>
228                   Cancel all asynchronous operations associated with the descriptor.
229                 </p>
230               </td>
231 </tr>
232 <tr>
233 <td>
234                 <p>
235                   <a class="link" href="posix__basic_stream_descriptor/close.html" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
236                 </p>
237               </td>
238 <td>
239                 <p>
240                   Close the descriptor.
241                 </p>
242               </td>
243 </tr>
244 <tr>
245 <td>
246                 <p>
247                   <a class="link" href="posix__basic_stream_descriptor/get_executor.html" title="posix::basic_stream_descriptor::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
248                 </p>
249               </td>
250 <td>
251                 <p>
252                   Get the executor associated with the object.
253                 </p>
254               </td>
255 </tr>
256 <tr>
257 <td>
258                 <p>
259                   <a class="link" href="posix__basic_stream_descriptor/io_control.html" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
260                 </p>
261               </td>
262 <td>
263                 <p>
264                   Perform an IO control command on the descriptor.
265                 </p>
266               </td>
267 </tr>
268 <tr>
269 <td>
270                 <p>
271                   <a class="link" href="posix__basic_stream_descriptor/is_open.html" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
272                 </p>
273               </td>
274 <td>
275                 <p>
276                   Determine whether the descriptor is open.
277                 </p>
278               </td>
279 </tr>
280 <tr>
281 <td>
282                 <p>
283                   <a class="link" href="posix__basic_stream_descriptor/lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
284                 </p>
285               </td>
286 <td>
287                 <p>
288                   Get a reference to the lowest layer. <br> <span class="silver"> &#8212;</span><br> Get a const
289                   reference to the lowest layer.
290                 </p>
291               </td>
292 </tr>
293 <tr>
294 <td>
295                 <p>
296                   <a class="link" href="posix__basic_stream_descriptor/native_handle.html" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
297                 </p>
298               </td>
299 <td>
300                 <p>
301                   Get the native descriptor representation.
302                 </p>
303               </td>
304 </tr>
305 <tr>
306 <td>
307                 <p>
308                   <a class="link" href="posix__basic_stream_descriptor/native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
309                 </p>
310               </td>
311 <td>
312                 <p>
313                   Gets the non-blocking mode of the native descriptor implementation.
314                   <br> <span class="silver"> &#8212;</span><br> Sets the non-blocking mode of the native descriptor
315                   implementation.
316                 </p>
317               </td>
318 </tr>
319 <tr>
320 <td>
321                 <p>
322                   <a class="link" href="posix__basic_stream_descriptor/non_blocking.html" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
323                 </p>
324               </td>
325 <td>
326                 <p>
327                   Gets the non-blocking mode of the descriptor. <br> <span class="silver"> &#8212;</span><br> Sets
328                   the non-blocking mode of the descriptor.
329                 </p>
330               </td>
331 </tr>
332 <tr>
333 <td>
334                 <p>
335                   <a class="link" href="posix__basic_stream_descriptor/operator_eq_.html" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
336                 </p>
337               </td>
338 <td>
339                 <p>
340                   Move-assign a stream descriptor from another.
341                 </p>
342               </td>
343 </tr>
344 <tr>
345 <td>
346                 <p>
347                   <a class="link" href="posix__basic_stream_descriptor/read_some.html" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
348                 </p>
349               </td>
350 <td>
351                 <p>
352                   Read some data from the descriptor.
353                 </p>
354               </td>
355 </tr>
356 <tr>
357 <td>
358                 <p>
359                   <a class="link" href="posix__basic_stream_descriptor/release.html" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
360                 </p>
361               </td>
362 <td>
363                 <p>
364                   Release ownership of the native descriptor implementation.
365                 </p>
366               </td>
367 </tr>
368 <tr>
369 <td>
370                 <p>
371                   <a class="link" href="posix__basic_stream_descriptor/wait.html" title="posix::basic_stream_descriptor::wait"><span class="bold"><strong>wait</strong></span></a>
372                 </p>
373               </td>
374 <td>
375                 <p>
376                   Wait for the descriptor to become ready to read, ready to write,
377                   or to have pending error conditions.
378                 </p>
379               </td>
380 </tr>
381 <tr>
382 <td>
383                 <p>
384                   <a class="link" href="posix__basic_stream_descriptor/write_some.html" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
385                 </p>
386               </td>
387 <td>
388                 <p>
389                   Write some data to the descriptor.
390                 </p>
391               </td>
392 </tr>
393 </tbody>
394 </table></div>
395 <h5>
396 <a name="boost_asio.reference.posix__basic_stream_descriptor.h2"></a>
397         <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.protected_data_members"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.protected_data_members">Protected
398         Data Members</a>
399       </h5>
400 <div class="informaltable"><table class="table">
401 <colgroup>
402 <col>
403 <col>
404 </colgroup>
405 <thead><tr>
406 <th>
407                 <p>
408                   Name
409                 </p>
410               </th>
411 <th>
412                 <p>
413                   Description
414                 </p>
415               </th>
416 </tr></thead>
417 <tbody><tr>
418 <td>
419                 <p>
420                   <a class="link" href="posix__basic_stream_descriptor/impl_.html" title="posix::basic_stream_descriptor::impl_"><span class="bold"><strong>impl_</strong></span></a>
421                 </p>
422               </td>
423 <td>
424               </td>
425 </tr></tbody>
426 </table></div>
427 <p>
428         The <a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput">posix::basic_stream_descriptor</code></a>
429         class template provides asynchronous and blocking stream-oriented descriptor
430         functionality.
431       </p>
432 <h5>
433 <a name="boost_asio.reference.posix__basic_stream_descriptor.h3"></a>
434         <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.thread_safety"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.thread_safety">Thread
435         Safety</a>
436       </h5>
437 <p>
438         <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
439       </p>
440 <p>
441         <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
442       </p>
443 <h5>
444 <a name="boost_asio.reference.posix__basic_stream_descriptor.h4"></a>
445         <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.requirements"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.requirements">Requirements</a>
446       </h5>
447 <p>
448         <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
449       </p>
450 <p>
451         <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
452       </p>
453 </div>
454 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
455 <td align="left"></td>
456 <td align="right"><div class="copyright-footer">Copyright &#169; 2003-2019 Christopher M. Kohlhoff<p>
457         Distributed under the Boost Software License, Version 1.0. (See accompanying
458         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>)
459       </p>
460 </div></td>
461 </tr></table>
462 <hr>
463 <div class="spirit-nav">
464 <a accesskey="p" href="posix__basic_descriptor__rebind_executor/other.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="posix__basic_stream_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
465 </div>
466 </body>
467 </html>