• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;...&gt; 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&lt;
266  execution::context_as_t&lt;execution_context&amp;&gt;,
267  execution::blocking_t::never_t,
268  execution::prefer_only&lt;execution::blocking_t::possibly_t&gt;,
269  execution::prefer_only&lt;execution::outstanding_work_t::tracked_t&gt;,
270  execution::prefer_only&lt;execution::outstanding_work_t::untracked_t&gt;,
271  execution::prefer_only&lt;execution::relationship_t::fork_t&gt;,
272  execution::prefer_only&lt;execution::relationship_t::continuation_t&gt;
273&gt;
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