
Contracts: A Deep Dive
I already introduced contracts in the article “Contracts in C++26”. In this article and the next…

Data-Parallel Types: Algorithms
The data-parallel types library has four special algorithms for SIMD vectors.
The four special…

Data-Parallel Types: Reduction
In this article, I will discuss reduction and mask reduction for data-parallel types.
Reduction
A…

Data-Parallel Types: simd_mask
Thanks to simd_mask, conditional execution of operations on data-parallel types is possible.
Unfortunately,…

Data-Parallel Types – A First Example
After providing a theoretical introduction to the new C++ 26 feature in my last article, “Data-Parallel…

Data-Parallel Types (SIMD)
The data-parallel types (SIMD) library provides data-parallel types and operations on them. Today, I…

Read-copy-update (RCU)
Read-copy-update is strong in multithreading environments where a data structure is read almost exclusively…

Hazard Pointers in C++26
Hazard pointers provide garbage collection in C++ and solve the ABA problem.
First of all. What…

A Lock-Free Stack: A Hazard Pointer Implementation Explained II
In my last post, I started to explain a hazard pointer implementation: A Lock-Free Stack: A Hazard Pointer…

A Lock-Free Stack: A Hazard Pointer Implementation Explained I
In my last post, I presented a hazard pointer implementation: A Lock-Free Stack: A Hazard Pointer Implementation.…