<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>strand::dispatch</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Asio">
<link rel="up" href="../strand.html" title="strand">
<link rel="prev" href="defer.html" title="strand::defer">
<link rel="next" href="execute.html" title="strand::execute">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="defer.html"><img src="../../../prev.png" alt="Prev"></a><a accesskey="u" href="../strand.html"><img src="../../../up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../home.png" alt="Home"></a><a accesskey="n" href="execute.html"><img src="../../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="asio.reference.strand.dispatch"></a><a class="link" href="dispatch.html" title="strand::dispatch">strand::dispatch</a>
</h4></div></div></div>
<p>
          <a class="indexterm" name="asio.indexterm.strand.dispatch"></a> 
Request the strand to invoke
          the given function object.
        </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span>
    <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">dispatch</span><span class="special">(</span>
    <span class="identifier">Function</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span><span class="special">,</span>
    <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
</pre>
<p>
          This function is used to ask the strand to execute the given function object
          on its underlying executor. The function object will be executed inside
          this function if the strand is not otherwise busy and if the underlying
          executor's <code class="computeroutput"><span class="identifier">dispatch</span><span class="special">()</span></code>
          function is also able to execute the function before returning.
        </p>
<h6>
<a name="asio.reference.strand.dispatch.h0"></a>
          <span><a name="asio.reference.strand.dispatch.parameters"></a></span><a class="link" href="dispatch.html#asio.reference.strand.dispatch.parameters">Parameters</a>
        </h6>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term">f</span></dt>
<dd>
<p>
                The function object to be called. The executor will make a copy of
                the handler object as required. The function signature of the function
                object must be:
              </p>
<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">();</span>
</pre>
</dd>
<dt><span class="term">a</span></dt>
<dd><p>
                An allocator that may be used by the executor to allocate the internal
                storage needed for function invocation.
              </p></dd>
</dl>
</div>
</div>
<div class="copyright-footer">Copyright © 2003-2023 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        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>)
      </p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="defer.html"><img src="../../../prev.png" alt="Prev"></a><a accesskey="u" href="../strand.html"><img src="../../../up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../home.png" alt="Home"></a><a accesskey="n" href="execute.html"><img src="../../../next.png" alt="Next"></a>
</div>
</body>
</html>