C++20: Module Support of the Big Three

I have written almost 100 posts about C++20 in the last four years, but I'm not done. This post continues…

Improved Iterators with Ranges

/
There are more reasons to prefer ranges library above the classical Standard Template Library. The ranges…

Sentinels and Concepts with Ranges Algorithms

/
The ranges library in C++20 supports sentinels. Sentinels stand for the end of a range and can be regarded…

Projections with Ranges

/
The algorithms of the ranges library are lazy, can work directly on the container, and can easily be…

The Ranges Library in C++20: More Details

/
Working with the Standard Template Library (STL) is much more comfortable and powerful thanks to the…
TimelineCpp20Concepts

Check Types with Concepts

/
Concepts are a powerful and elegant tool to check at compile time if a type fulfills. Thanks to static_assert,…
TimelineCpp20Concepts

Check Types with Concepts – The Motivation

/
static_assert allows you to check at compile time if a type T fulfills the Concept: static_assert(Concept<T>).   Before…
TimelineCpp20Concepts

Using Requires Expression in C++20 as a Standalone Feature

/
In my last post "Defining Concepts with Requires Expressions", I exemplified how you can use requires…
TimelineCpp20Concepts

Defining Concepts with Requires Expressions

/
In my last post, "Define Concepts", I defined the concepts Integral, SignedIntegral, and UnsigendIntegral…
TimelineCpp20Concepts

Define Concepts

/
There are two ways to define a concept: You can combine existing concepts and compile-time predicates,…