C++20

Defining Concepts

I wrote a few posts about using concepts. Concepts are a named set of requirements. Let's define a few concepts in this post.

Read more
Comments 2Views: 9334

Placeholders - The Second

The unification of templates, concepts, and placeholders goes on. This time, I will have a closer look at constrained (concepts) and unconstrained (auto) placeholders in the context of templates.

Read more
Add CommentViews: 6421

Concepts - Placeholders

C++11 has with auto unconstrained placeholders. You can use concepts in C++20 as constrained placeholders. What seems at first glimpse not so thrilling is for me the decisive quantum leap. C++ templates will become an easy to use C++ feature.

Read more
Add CommentViews: 7905

Task Blocks

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

Read more
Tags: C++20
Add CommentViews: 14442

Transactional Memory

Transactional memory is based on the idea of a transaction from the database theory. Transactional memory shall make the handling with threads a lot easier. That for two reasons. Data races and deadlocks disappear. Transactions are composable.

Read more
Tags: C++20
Comments 1Views: 10567

Coroutines

Coroutines are functions that can suspend and resume their execution while keeping their state. The evolution in C++20 goes one step further.

Read more
Tags: C++20
Comments 2Views: 32211

Latches And Barriers

Latches and barriers are simple thread synchronisation mechanism which enables it that some threads wait until a counter becomes zero. We will presumably in C++20 get latches and barriers in three variations: std::latch, std::barrier, and std::flex_barrier.

Read more
Tags: C++20
Comments 4Views: 10731

std::future Extensions

Tasks in the form of promises and futures have in C++11 an ambivalent reputation. At on hand, they are a lot easier to use than threads or condition variables; at the other hand, they have a great deficiency. They can not composed. C++20 will overcome this deficiency.

Read more
Tags: C++20, tasks
Comments 2Views: 10356

Atomic Smart Pointers

C++20 will have atomic smart pointers. To be exactly, we will get a std::atomic_shared_ptr and a std::atomic_weak_ptr. But why? std::shared_ptr and std::weak_ptr are already thread-safe. Sort of. Let me dive into the details.

Read more
Tags: C++20
Comments 5Views: 37328

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 206

All 1257875

Currently are 159 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments