t have to write
so much boilerplate if you have a Coroutines supporting compiler:</p>

<div class="code-snippet"><div class="highlight"><pre class="chroma"><code class="language-c++" data-lang="c++">  <span class="c1">// As coroutines suspend the calling thread whilst an asynchronous
</span><span class="c1"></span>  <span class="c1">// operation executes, we can use stack allocation instead of dynamic
</span><span class="c1"></span>  <span class="c1">// allocation
</span><span class="c1"></span>  <span clas