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