Design by contract

C++ Core Guidelines: A Short Detour to Contracts in C++20

My original plan was it to write in this post about the next rules to error handling. But I changed my…
technology 2025795 1280

The End of my Detour: Unified Futures

After the last post to executors, I can finally write about the unified futures. I write in the post…
timeline20 23

A Short Detour: Executors

A few weeks ago, one of the authors of the proposal to the futures in C++ Felix Petriconi wrote me an…

No New New: Raw Pointers Removed from C++

Two weeks ago, the ISO C++ standard meeting took place in Jacksonville.  Today I want to make a…

Placeholders – The Second

The unification of templates, concepts, and placeholders goes on. This time, I will look closely at constrained…

Task Blocks

Task blocks use the well-known fork-join paradigm for the parallel execution of tasks. Who invented…

Transactional Memory

Transactional memory is based on the idea of a transaction from the database theory. Transactional memory…

std::future Extensions

Tasks in the form of promises and futures have in C++11 an ambivalent reputation. On the one hand, they…

Multithreading with C++17 and C++20

Forecasts about the future are difficult. In particular, when they are about C++20. Nevertheless, I will…

Monads in C++

Monads in C++? What a strange name for a post. But it's not so strange. With std::optional, C++17 gets…