title: Boost awaitable: how to await on async operation inside post
body: <p>I was writing some asio code and tried to refactor it to use C++20 coroutines. However I got stuck transforming this code:</p>
  <pre><code>asio::post(
      my_strand,
      [self = shared_from_this()]() {
          // functions that write in this container can only be called
          // on a single thread at a time, thus the strand
          session_write_history.push_back(buffer);
          /* co_await? */ socket.write_async(buffer, /* use awaitable? */);
      }
  );
  </code></pre>
  <p>You see, my async operation is done inside the post callback, so using <code>asio::use_awaitable</code> on the async operation one would make the callback a coroutine. Is there a way to await on the async operation inside the <code>asio::post</code> on the strand?</p>