title: C++ Coroutine - When, How to use?
body: <p>As a novice C++ programmer who is very new to the concept of coroutines, I am trying to study and utilize the feature. Although there is explanation of coroutine here: <a href="https://stackoverflow.com/questions/553704/what-is-a-coroutine">What is a coroutine?</a></p>
  <p>I am not yet sure when and how to use the coroutine. There was several example use cases provided, but those use cases had alternative solutions which could be implemented by pre- C++20 features: (ex:lazy computation of infinite sequence can be done by a class with private internal state variable).</p>
  <p>Therefore I am seeking for any usecases that coroutines are particularly useful.</p>
  <p><a href="https://i.stack.imgur.com/fNBq8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fNBq8.png" alt="Coroutine concept" /></a></p>
  <p>(From the image posted by Izana)</p>