Concepts, Coroutines, Ranges, and more
Andreas Fertig

#C++20
#Programming
#STL
#Code
Programming with C++20 teaches programmers with C++ experience the new features of C++20 and how to apply them. It does so by assuming C++11 knowledge. Elements of the standards between C++11 and C++20 will be briefly introduced, if necessary. However, the focus is on teaching the features of C++20.
You will start with learning about the so-called big four Concepts, Coroutines, std::ranges, and modules. The big four are followed by smaller yet not less important features. You will learn about std::format, the new way to format a string in C++. In Chapter 6, you will learn about a new operator, the so-called spaceship operator, which makes you write less code.
You then will look at various language improvements, ensuring more consistency and reducing surprises. You will learn how lambdas improved in C++20 and what new elements you can now pass as non-type template parameters. Your next stop is the improvements to the STL.
Of course, you will not end this book without learning about what happened in the constexpr-world.
Table of Contents
1 Concepts: Predicates for strongly typed generic code
2 Coroutines: Suspending functions
3 Ranges: The next-generation STL
4 Modules: The superior way of includes
5 std::format: Modern & type -safe text formatting
6 Three-way comparisons: Simplify your comparisons
7 Lambdas in C + + 20: New features
8 Aggregates: Designated initializers and more
9 Class-types as non-type template parameters
10 New STL elements
11 Language Updates
12 Doing (more) things at compile-time
About the Author
Andreas Fertig is the CEO of Unique Code GmbH, which offers training and consulting for C++ specialized in embedded systems. He worked for Philips Medizin Systeme GmbH for ten years as a C++ software developer and architect focusing on embedded systems.
Andreas is involved in the C++ standardization committee. He is a regular speaker at conferences internationally. Textbooks and articles by Andreas are available in German and English.
His passion for teaching people how C++ works is why he created C++ Insights (https://cppinsights.io).
You find him online at https://andreasfertig.com.









