Printed Version of “Concurrency with Modern C++” on Amazon

I have some great news. First, you finally have "Concurrency with Modern C++" on Amazon; second, my…

The Formatting Library in C++20

Today, I will start a series about the formatting library in C++20. The series is based on my C++20…

std::span in C++20: More Details

A std::span represents an object that refers to a contiguous sequence of objects. Today, I want to write…

The autogenerated Equality Operator

You can define the three-way comparison operator or request it from the compiler with =default. But…

The Second Edition of my C++20 Book on Amazon

I have given many C++20 classes in the last two years and improved my C++20 knowledge. Consequentially,…

A Coroutines-Based Single Consumer – Single Producer Workflow by Ljubic Damir

I'm happy to present in this guest post by Ljubic Damir a typical use-case for coroutines: a producer…

A Bug in the Priority Scheduler for Coroutines

In my last two posts, I presented priority schedulers for coroutines. The schedulers had a bug. First…

An Advanced Priority Scheduler for Coroutines

Today, I use the straightforward scheduler from the post "A Priority Scheduler for Coroutines" and improve…

A Priority Scheduler for Coroutines

In this post, I will extend the straightforward scheduler from Dian-Lun with priorities. This…

Coroutines: A Scheduler for Tasks by Dian-Lun Lin

The last post "A Concise Introduction to Coroutines by Dian-Lun Lin" provide the theory. Today, Dian-Lun…