ipe, as a lot of barely documented ASIO voodoo is involved. You should not
use the code presented next in your own code, it is too simplified. But it should
help you understand how the real implementation works.</p>

<p>Firstly we need to define some helper type sugar and a factory function for wrapping
any arbitrary third party completion token with that type sugar:</p>

<div class="code-snippet"><div class="highlight"><pre class="chroma"><code class="language-c++" data-lang="c++"><span class="k">namespace