1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>any_io_executor</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="WriteHandler.html" title="Write handler requirements"> 10<link rel="next" href="asio_handler_allocate.html" title="asio_handler_allocate"> 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="WriteHandler.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="asio_handler_allocate.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.any_io_executor"></a><a class="link" href="any_io_executor.html" title="any_io_executor">any_io_executor</a> 28</h3></div></div></div> 29<p> 30 <a class="indexterm" name="boost_asio.indexterm.any_io_executor"></a> 31Polymorphic executor type 32 for use with I/O objects. 33 </p> 34<pre class="programlisting">typedef execution::any_executor<...> any_io_executor; 35</pre> 36<h5> 37<a name="boost_asio.reference.any_io_executor.h0"></a> 38 <span class="phrase"><a name="boost_asio.reference.any_io_executor.member_functions"></a></span><a class="link" href="any_io_executor.html#boost_asio.reference.any_io_executor.member_functions">Member Functions</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="execution__any_executor/any_executor.html" title="execution::any_executor::any_executor"><span class="bold"><strong>any_executor</strong></span></a> <span class="silver">[constructor]</span> 62 </p> 63 </td> 64<td> 65 <p> 66 Default constructor. <br> <span class="silver"> —</span><br> Construct in an empty state. 67 Equivalent effects to default constructor. <br> <span class="silver"> —</span><br> Copy constructor. 68 <br> <span class="silver"> —</span><br> Move constructor. <br> <span class="silver"> —</span><br> Construct to point 69 to the same target as another any_executor. <br> <span class="silver"> —</span><br> Construct 70 a polymorphic wrapper for the specified executor. 71 </p> 72 </td> 73</tr> 74<tr> 75<td> 76 <p> 77 <a class="link" href="execution__any_executor/context.html" title="execution::any_executor::context"><span class="bold"><strong>context</strong></span></a> 78 </p> 79 </td> 80<td> 81 <p> 82 Obtain the underlying execution context. 83 </p> 84 </td> 85</tr> 86<tr> 87<td> 88 <p> 89 <a class="link" href="execution__any_executor/execute.html" title="execution::any_executor::execute"><span class="bold"><strong>execute</strong></span></a> 90 </p> 91 </td> 92<td> 93 <p> 94 Execute the function on the target executor. 95 </p> 96 </td> 97</tr> 98<tr> 99<td> 100 <p> 101 <a class="link" href="execution__any_executor/operator_bool.html" title="execution::any_executor::operator bool"><span class="bold"><strong>operator bool</strong></span></a> 102 </p> 103 </td> 104<td> 105 <p> 106 Determine whether the wrapper has a target executor. 107 </p> 108 </td> 109</tr> 110<tr> 111<td> 112 <p> 113 <a class="link" href="execution__any_executor/operator_eq_.html" title="execution::any_executor::operator="><span class="bold"><strong>operator=</strong></span></a> 114 </p> 115 </td> 116<td> 117 <p> 118 Assignment operator. <br> <span class="silver"> —</span><br> Move assignment operator. <br> 119 <span class="silver"> —</span><br> Assignment operator that sets the polymorphic wrapper to 120 the empty state. <br> <span class="silver"> —</span><br> Assignment operator to create a 121 polymorphic wrapper for the specified executor. 122 </p> 123 </td> 124</tr> 125<tr> 126<td> 127 <p> 128 <a class="link" href="execution__any_executor/prefer.html" title="execution::any_executor::prefer"><span class="bold"><strong>prefer</strong></span></a> 129 </p> 130 </td> 131<td> 132 <p> 133 Obtain a polymorphic wrapper with the specified property. 134 </p> 135 </td> 136</tr> 137<tr> 138<td> 139 <p> 140 <a class="link" href="execution__any_executor/query.html" title="execution::any_executor::query"><span class="bold"><strong>query</strong></span></a> 141 </p> 142 </td> 143<td> 144 <p> 145 Obtain the value associated with the specified property. 146 </p> 147 </td> 148</tr> 149<tr> 150<td> 151 <p> 152 <a class="link" href="execution__any_executor/require.html" title="execution::any_executor::require"><span class="bold"><strong>require</strong></span></a> 153 </p> 154 </td> 155<td> 156 <p> 157 Obtain a polymorphic wrapper with the specified property. 158 </p> 159 </td> 160</tr> 161<tr> 162<td> 163 <p> 164 <a class="link" href="execution__any_executor/swap.html" title="execution::any_executor::swap"><span class="bold"><strong>swap</strong></span></a> 165 </p> 166 </td> 167<td> 168 <p> 169 Swap targets with another polymorphic wrapper. 170 </p> 171 </td> 172</tr> 173<tr> 174<td> 175 <p> 176 <a class="link" href="execution__any_executor/target.html" title="execution::any_executor::target"><span class="bold"><strong>target</strong></span></a> 177 </p> 178 </td> 179<td> 180 <p> 181 Get a pointer to the target executor. 182 </p> 183 </td> 184</tr> 185<tr> 186<td> 187 <p> 188 <a class="link" href="execution__any_executor/target_type.html" title="execution::any_executor::target_type"><span class="bold"><strong>target_type</strong></span></a> 189 </p> 190 </td> 191<td> 192 <p> 193 Get the type of the target executor. 194 </p> 195 </td> 196</tr> 197<tr> 198<td> 199 <p> 200 <a class="link" href="execution__any_executor/_any_executor.html" title="execution::any_executor::~any_executor"><span class="bold"><strong>~any_executor</strong></span></a> <span class="silver">[destructor]</span> 201 </p> 202 </td> 203<td> 204 <p> 205 Destructor. 206 </p> 207 </td> 208</tr> 209</tbody> 210</table></div> 211<h5> 212<a name="boost_asio.reference.any_io_executor.h1"></a> 213 <span class="phrase"><a name="boost_asio.reference.any_io_executor.related_functions"></a></span><a class="link" href="any_io_executor.html#boost_asio.reference.any_io_executor.related_functions">Related 214 Functions</a> 215 </h5> 216<div class="informaltable"><table class="table"> 217<colgroup> 218<col> 219<col> 220</colgroup> 221<thead><tr> 222<th> 223 <p> 224 Name 225 </p> 226 </th> 227<th> 228 <p> 229 Description 230 </p> 231 </th> 232</tr></thead> 233<tbody> 234<tr> 235<td> 236 <p> 237 <a class="link" href="execution__any_executor/operator_not__eq_.html" title="execution::any_executor::operator!="><span class="bold"><strong>operator!=</strong></span></a> 238 </p> 239 </td> 240<td> 241 <p> 242 Inequality operator. 243 </p> 244 </td> 245</tr> 246<tr> 247<td> 248 <p> 249 <a class="link" href="execution__any_executor/operator_eq__eq_.html" title="execution::any_executor::operator=="><span class="bold"><strong>operator==</strong></span></a> 250 </p> 251 </td> 252<td> 253 <p> 254 Equality operator. 255 </p> 256 </td> 257</tr> 258</tbody> 259</table></div> 260<p> 261 The <code class="computeroutput">any_io_executor</code> type is a polymorphic executor that supports 262 the set of properties required by I/O objects. It is defined as the <a class="link" href="execution__any_executor.html" title="execution::any_executor"><code class="computeroutput">execution::any_executor</code></a> 263 class template parameterised as follows: 264 </p> 265<pre class="programlisting">execution::any_executor< 266 execution::context_as_t<execution_context&>, 267 execution::blocking_t::never_t, 268 execution::prefer_only<execution::blocking_t::possibly_t>, 269 execution::prefer_only<execution::outstanding_work_t::tracked_t>, 270 execution::prefer_only<execution::outstanding_work_t::untracked_t>, 271 execution::prefer_only<execution::relationship_t::fork_t>, 272 execution::prefer_only<execution::relationship_t::continuation_t> 273> 274</pre> 275<h5> 276<a name="boost_asio.reference.any_io_executor.h2"></a> 277 <span class="phrase"><a name="boost_asio.reference.any_io_executor.requirements"></a></span><a class="link" href="any_io_executor.html#boost_asio.reference.any_io_executor.requirements">Requirements</a> 278 </h5> 279<p> 280 <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/any_io_executor.hpp</code> 281 </p> 282<p> 283 <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code> 284 </p> 285</div> 286<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 287<td align="left"></td> 288<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M. 289 Kohlhoff<p> 290 Distributed under the Boost Software License, Version 1.0. (See accompanying 291 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>) 292 </p> 293</div></td> 294</tr></table> 295<hr> 296<div class="spirit-nav"> 297<a accesskey="p" href="WriteHandler.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="asio_handler_allocate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 298</div> 299</body> 300</html> 301