• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>bind_handler</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="../../index.html" title="Chapter 1. Boost.Beast">
8<link rel="up" href="../ref.html" title="This Page Intentionally Left Blank 2/2">
9<link rel="prev" href="boost__beast__allocate_stable.html" title="allocate_stable">
10<link rel="next" href="boost__beast__bind_front_handler.html" title="bind_front_handler">
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="boost__beast__allocate_stable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__beast__bind_front_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h4 class="title">
27<a name="beast.ref.boost__beast__bind_handler"></a><a class="link" href="boost__beast__bind_handler.html" title="bind_handler">bind_handler</a>
28</h4></div></div></div>
29<p>
30        <a class="indexterm" name="idm46057513469840"></a>
31      </p>
32<p>
33        Bind parameters to a completion handler, creating a new handler.
34      </p>
35<h5>
36<a name="beast.ref.boost__beast__bind_handler.h0"></a>
37        <span class="phrase"><a name="beast.ref.boost__beast__bind_handler.synopsis"></a></span><a class="link" href="boost__beast__bind_handler.html#beast.ref.boost__beast__bind_handler.synopsis">Synopsis</a>
38      </h5>
39<p>
40        Defined in header <code class="literal">&lt;<a href="../../../../../../boost/beast/core/bind_handler.hpp" target="_top">boost/beast/core/bind_handler.hpp</a>&gt;</code>
41      </p>
42<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
43    <span class="keyword">class</span> <a href="../../../../../../doc/html/boost_asio/reference/Handler.html" target="_top"><span class="emphasis"><em>Handler</em></span></a><span class="special">,</span>
44    <span class="keyword">class</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
45<span class="emphasis"><em>implementation-defined</em></span>
46<span class="identifier">bind_handler</span><span class="special">(</span>
47    <span class="identifier">Handler</span><span class="special">&amp;&amp;</span> <span class="identifier">handler</span><span class="special">,</span>
48    <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
49</pre>
50<h5>
51<a name="beast.ref.boost__beast__bind_handler.h1"></a>
52        <span class="phrase"><a name="beast.ref.boost__beast__bind_handler.description"></a></span><a class="link" href="boost__beast__bind_handler.html#beast.ref.boost__beast__bind_handler.description">Description</a>
53      </h5>
54<p>
55        This function creates a new handler which, when invoked, calls the original
56        handler with the list of bound arguments. Any parameters passed in the invocation
57        will be substituted for placeholders present in the list of bound arguments.
58        Parameters which are not matched to placeholders are silently discarded.
59        The passed handler and arguments are forwarded into the returned handler,
60        whose associated allocator and associated executor will will be the same
61        as those of the original handler.
62      </p>
63<h5>
64<a name="beast.ref.boost__beast__bind_handler.h2"></a>
65        <span class="phrase"><a name="beast.ref.boost__beast__bind_handler.example"></a></span><a class="link" href="boost__beast__bind_handler.html#beast.ref.boost__beast__bind_handler.example">Example</a>
66      </h5>
67<p>
68        This function posts the invocation of the specified completion handler with
69        bound arguments:
70      </p>
71<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">AsyncReadStream</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
72<span class="keyword">void</span>
73<span class="identifier">signal_aborted</span> <span class="special">(</span><span class="identifier">AsyncReadStream</span><span class="special">&amp;</span> <span class="identifier">stream</span><span class="special">,</span> <span class="identifier">ReadHandler</span><span class="special">&amp;&amp;</span> <span class="identifier">handler</span><span class="special">)</span>
74<span class="special">{</span>
75    <span class="identifier">net</span><span class="special">::</span><span class="identifier">post</span><span class="special">(</span>
76        <span class="identifier">stream</span><span class="special">.</span><span class="identifier">get_executor</span><span class="special">(),</span>
77        <span class="identifier">bind_handler</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">forward</span> <span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;</span> <span class="special">(</span><span class="identifier">handler</span><span class="special">),</span>
78            <span class="identifier">net</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">,</span> <span class="number">0</span><span class="special">));</span>
79<span class="special">}</span>
80</pre>
81<h5>
82<a name="beast.ref.boost__beast__bind_handler.h3"></a>
83        <span class="phrase"><a name="beast.ref.boost__beast__bind_handler.parameters"></a></span><a class="link" href="boost__beast__bind_handler.html#beast.ref.boost__beast__bind_handler.parameters">Parameters</a>
84      </h5>
85<div class="informaltable"><table class="table">
86<colgroup>
87<col>
88<col>
89</colgroup>
90<thead><tr>
91<th>
92                <p>
93                  Name
94                </p>
95              </th>
96<th>
97                <p>
98                  Description
99                </p>
100              </th>
101</tr></thead>
102<tbody>
103<tr>
104<td>
105                <p>
106                  <code class="computeroutput"><span class="identifier">handler</span></code>
107                </p>
108              </td>
109<td>
110                <p>
111                  The handler to wrap. The implementation takes ownership of the
112                  handler by performing a decay-copy.
113                </p>
114              </td>
115</tr>
116<tr>
117<td>
118                <p>
119                  <code class="computeroutput"><span class="identifier">args</span></code>
120                </p>
121              </td>
122<td>
123                <p>
124                  A list of arguments to bind to the handler. The arguments are forwarded
125                  into the returned object. These arguments may include placeholders,
126                  which will operate in a fashion identical to a call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind</span></code>.
127                </p>
128              </td>
129</tr>
130</tbody>
131</table></div>
132</div>
133<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
134<td align="left"></td>
135<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
136      Falco<p>
137        Distributed under the Boost Software License, Version 1.0. (See accompanying
138        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>)
139      </p>
140</div></td>
141</tr></table>
142<hr>
143<div class="spirit-nav">
144<a accesskey="p" href="boost__beast__allocate_stable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__beast__bind_front_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
145</div>
146</body>
147</html>
148