• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>posix::basic_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="placeholders__signal_number.html" title="placeholders::signal_number">
10<link rel="next" href="posix__basic_descriptor/assign.html" title="posix::basic_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="placeholders__signal_number.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_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_descriptor"></a><a class="link" href="posix__basic_descriptor.html" title="posix::basic_descriptor">posix::basic_descriptor</a>
28</h3></div></div></div>
29<p>
30        Provides POSIX descriptor functionality.
31      </p>
32<pre class="programlisting">template&lt;
33    typename <a class="link" href="Executor1.html" title="Executor requirements">Executor</a> = any_io_executor&gt;
34class basic_descriptor :
35  public posix::descriptor_base
36</pre>
37<h5>
38<a name="boost_asio.reference.posix__basic_descriptor.h0"></a>
39        <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.types"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_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_descriptor__rebind_executor.html" title="posix::basic_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_descriptor/bytes_readable.html" title="posix::basic_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_descriptor/executor_type.html" title="posix::basic_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_descriptor/lowest_layer_type.html" title="posix::basic_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_descriptor/native_handle_type.html" title="posix::basic_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_descriptor/wait_type.html" title="posix::basic_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_descriptor.h1"></a>
136        <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.member_functions"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_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_descriptor/assign.html" title="posix::basic_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_descriptor/async_wait.html" title="posix::basic_descriptor::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
173                </p>
174              </td>
175<td>
176                <p>
177                  Asynchronously wait for the descriptor to become ready to read,
178                  ready to write, or to have pending error conditions.
179                </p>
180              </td>
181</tr>
182<tr>
183<td>
184                <p>
185                  <a class="link" href="posix__basic_descriptor/basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a> <span class="silver">[constructor]</span>
186                </p>
187              </td>
188<td>
189                <p>
190                  Construct a descriptor without opening it. <br> <span class="silver"> —</span><br> Construct
191                  a descriptor on an existing native descriptor. <br> <span class="silver"> —</span><br> Move-construct
192                  a descriptor from another.
193                </p>
194              </td>
195</tr>
196<tr>
197<td>
198                <p>
199                  <a class="link" href="posix__basic_descriptor/cancel.html" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
200                </p>
201              </td>
202<td>
203                <p>
204                  Cancel all asynchronous operations associated with the descriptor.
205                </p>
206              </td>
207</tr>
208<tr>
209<td>
210                <p>
211                  <a class="link" href="posix__basic_descriptor/close.html" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
212                </p>
213              </td>
214<td>
215                <p>
216                  Close the descriptor.
217                </p>
218              </td>
219</tr>
220<tr>
221<td>
222                <p>
223                  <a class="link" href="posix__basic_descriptor/get_executor.html" title="posix::basic_descriptor::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
224                </p>
225              </td>
226<td>
227                <p>
228                  Get the executor associated with the object.
229                </p>
230              </td>
231</tr>
232<tr>
233<td>
234                <p>
235                  <a class="link" href="posix__basic_descriptor/io_control.html" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
236                </p>
237              </td>
238<td>
239                <p>
240                  Perform an IO control command on the descriptor.
241                </p>
242              </td>
243</tr>
244<tr>
245<td>
246                <p>
247                  <a class="link" href="posix__basic_descriptor/is_open.html" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
248                </p>
249              </td>
250<td>
251                <p>
252                  Determine whether the descriptor is open.
253                </p>
254              </td>
255</tr>
256<tr>
257<td>
258                <p>
259                  <a class="link" href="posix__basic_descriptor/lowest_layer.html" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
260                </p>
261              </td>
262<td>
263                <p>
264                  Get a reference to the lowest layer. <br> <span class="silver"> —</span><br> Get a const
265                  reference to the lowest layer.
266                </p>
267              </td>
268</tr>
269<tr>
270<td>
271                <p>
272                  <a class="link" href="posix__basic_descriptor/native_handle.html" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
273                </p>
274              </td>
275<td>
276                <p>
277                  Get the native descriptor representation.
278                </p>
279              </td>
280</tr>
281<tr>
282<td>
283                <p>
284                  <a class="link" href="posix__basic_descriptor/native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
285                </p>
286              </td>
287<td>
288                <p>
289                  Gets the non-blocking mode of the native descriptor implementation.
290                  <br> <span class="silver"> —</span><br> Sets the non-blocking mode of the native descriptor
291                  implementation.
292                </p>
293              </td>
294</tr>
295<tr>
296<td>
297                <p>
298                  <a class="link" href="posix__basic_descriptor/non_blocking.html" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
299                </p>
300              </td>
301<td>
302                <p>
303                  Gets the non-blocking mode of the descriptor. <br> <span class="silver"> —</span><br> Sets
304                  the non-blocking mode of the descriptor.
305                </p>
306              </td>
307</tr>
308<tr>
309<td>
310                <p>
311                  <a class="link" href="posix__basic_descriptor/operator_eq_.html" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
312                </p>
313              </td>
314<td>
315                <p>
316                  Move-assign a descriptor from another.
317                </p>
318              </td>
319</tr>
320<tr>
321<td>
322                <p>
323                  <a class="link" href="posix__basic_descriptor/release.html" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
324                </p>
325              </td>
326<td>
327                <p>
328                  Release ownership of the native descriptor implementation.
329                </p>
330              </td>
331</tr>
332<tr>
333<td>
334                <p>
335                  <a class="link" href="posix__basic_descriptor/wait.html" title="posix::basic_descriptor::wait"><span class="bold"><strong>wait</strong></span></a>
336                </p>
337              </td>
338<td>
339                <p>
340                  Wait for the descriptor to become ready to read, ready to write,
341                  or to have pending error conditions.
342                </p>
343              </td>
344</tr>
345</tbody>
346</table></div>
347<h5>
348<a name="boost_asio.reference.posix__basic_descriptor.h2"></a>
349        <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.protected_member_functions"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.protected_member_functions">Protected
350        Member Functions</a>
351      </h5>
352<div class="informaltable"><table class="table">
353<colgroup>
354<col>
355<col>
356</colgroup>
357<thead><tr>
358<th>
359                <p>
360                  Name
361                </p>
362              </th>
363<th>
364                <p>
365                  Description
366                </p>
367              </th>
368</tr></thead>
369<tbody><tr>
370<td>
371                <p>
372                  <a class="link" href="posix__basic_descriptor/_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a> <span class="silver">[destructor]</span>
373                </p>
374              </td>
375<td>
376                <p>
377                  Protected destructor to prevent deletion through this type.
378                </p>
379              </td>
380</tr></tbody>
381</table></div>
382<p>
383        The <a class="link" href="posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput">posix::basic_descriptor</code></a>
384        class template provides the ability to wrap a POSIX descriptor.
385      </p>
386<h5>
387<a name="boost_asio.reference.posix__basic_descriptor.h3"></a>
388        <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.thread_safety"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.thread_safety">Thread
389        Safety</a>
390      </h5>
391<p>
392        <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
393      </p>
394<p>
395        <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
396      </p>
397<h5>
398<a name="boost_asio.reference.posix__basic_descriptor.h4"></a>
399        <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.requirements"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.requirements">Requirements</a>
400      </h5>
401<p>
402        <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
403      </p>
404<p>
405        <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
406      </p>
407</div>
408<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
409<td align="left"></td>
410<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M.
411      Kohlhoff<p>
412        Distributed under the Boost Software License, Version 1.0. (See accompanying
413        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>)
414      </p>
415</div></td>
416</tr></table>
417<hr>
418<div class="spirit-nav">
419<a accesskey="p" href="placeholders__signal_number.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_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
420</div>
421</body>
422</html>
423