Contributions

Article
This blog article is an experiment. A few days ago, I received the following email (translated from German) from Oliver Schädlich ([email protected]). If, as I hope, this article sparks a discussion, I will be happy to summarize it in my last article.
Article
Hazard pointers provide garbage collection in C++ and solve the ABA problem.
Article
In my last post, I started to explain a hazard pointer implementation: A Lock-Free Stack: A Hazard Pointer Implementation Explained I. Today, I will continue to explain the implementation.
Article
In my last post, I presented a hazard pointer implementation: A Lock-Free Stack: A Hazard Pointer Implementation. Today, I will explain the implementation.
Article
Hazard Pointers solve all issues of the previous implementation: A Lock-Free Stack: A Simple Garbage Collector.
Article
My next lock-free stack includes a simple garbage collector.
Article
The easiest way to solve this memory leak issue from the last post is to use a std::shared_ptr.
Article
My last lock-free stack implementation was incomplete. It only supported push operations. Let’s change this.
Article
Today, I continue my mini story about lock-free data structures.
Article
Before I dive into lock-free programming, there’s a little bit of theory necessary.
Article
Displaying the address of an arbitrary pointer in C++ 20 fails but succeeds with C++26.
Article
C++26 offers many small improvements around strings and string_views.
Article
std::execution offers three types of senders: factories, adapters, and consumers. I’ll take a closer look at these today.
Article
std::execution offers three types of senders: factories, adapters, and consumers. I’ll take a closer look at these today.
Article
Most sender adaptors are composable using the pipe operator.
Article
Inclusive scan solves problems related to range queries, such as calculating the sum of a range of elements in an array. It is also used in range minimum queries and various other algorithms.
Article
std::execution supports many asynchronous algorithms for various workflows.
Article
std::execution, previously known as executors or Senders/Receivers, provides “a Standard C++ framework for managing asynchronous execution on generic execution resources”. (P2300R10)
Article
There are more small improvements in the C++26 language, which you should know.
Article
Placeholders are a nice way to highlight variables that are no longer needed. Additionally, the character set of C++26 will be extended.
Article
Contracts allow you to specify preconditions, postconditions, and invariants for functions.
Article
Thanks to reflection, you can determine the layout of types.
Article
Today, I continue my journey through reflection in C++26 and play with enums and classes.
Article
Reflection offers many metafunctions that run at compile time.
Article
After the search into the breadth starts today, the search into the depth: reflection.
Article
Today, I will finish my overview of C++26 and write about concurrency.
Article
The most interesting feature of the new C++26 standard library is its improved math support.
Article
In my last post, I overviewed C++26’s core language. Today, I continue with the library.
Article
C++26 has a lot to offer. Let me directly jump in and give you an overview.
Article
C++26 will be the next C++ standard after C++23. This new standard significantly improves C++ and is probably similar game-changing like C++98, C++11, or C++20.

Showing the last 30 only...