Posts

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…
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,…

A std::advance Implementation with C++98, C++17, and C++20

/
In my last post, I presented a possible std::advance implementation based on tag dispatching. One of…
AutomaticReturnType

Automatic Return Type (C++11/14/20)

/
I started my discussion about the  "Automatic Return Type (C++98)" in my last post. Today, I'm faced…
TimelineCpp20Concepts

Concepts in C++20: An Evolution or a Revolution?

/
Let me conclude my series to concepts with this meta-post. Are concepts an evolution or a revolution…
TimelineCpp20Concepts

C++20: Define the Concept Regular and SemiRegular

/
When you want to define a concrete type that works well in the C++ ecosystem, you should define a type…