C++20 Coroutines AS std::istream
Channel: Sonia Kolasinska
Date: 2023-04-17

The Order Book - C++20 Coroutines AS std::istream

I invite you to watch my tech talk (fun talk), where I'm presenting practical use of the new features in C++20 on example of The Order Book.

In this episode I will talk about converting a C++20 Coroutine into an std::istream.

Your CC are very welcome!

See project on GitHub: https://github.com/sadhbh-c0d3/cpp20-orderbook#c20-order-book

See also  https://youtu.be/3k2O3KiE_xY

Chapters:
00:00 - C++20 Coroutines AS std::istream
00:15 - What is std::istream?
01:06 - Specification by Example (SBE)
02:00 - What is std::streambuf underflow?
03:56 - Demo
05:03 - How we implement std::istream?
07:45 - How coroutine becomes std::istream?
11:08 - How stream generator works?
14:37 - How we designed promise type?
16:49 - What is the rationale?
18:01 - How we use our promise type?
22:01 - How we chop text fragments?
26:05 - How our std::istreambuf works?
28:57 - How we implement underflow?
31:17 - Thanks for watching!

DISCLAIMER: In this presentation I am not using typical CppCon style language, I do not go over details of C++ grammar, or details of how to abuse C++ features. This presentation is about showing Concepts and Coroutines on practical example of The Order Book. I show how features of modern C++ can be used to achieve code following SOLID principles. I also explain choices I have made during the development.