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