C++ Executors: the Good, the Bad, and Some Examples

C++ Executors: the Good, the Bad, and Some Examples

Executors are one of the most expected features for the upcoming C++ standards. This article tries to cast a critical perspective of some of the main proposals discussed for adoption. Besides briefly explaining the content of the executors proposal and providing a few examples, the article tries to pick on some decisions made in those proposals. It tries to argue about the strong and the weak points by adding simplistic labels of “good” and “bad”.

As with most of the later articles, this was published in Overload.

NOTE: The article contains one major error: I argue that executors do not provide a monadic bind. This is completely wrong. The let_value provides just this functionality. I’ll try to correct the mistake in the next article.

Don’t forget to support nolocks.org by spreading the word.

Keep truthing!

LucTeo's Picture

About LucTeo

Lucian Radu Teodorescu holds a PhD in programming languages, and is a Software Architect at Garmin International. He likes challenges; and understanding the essence of things (if there is one) constitutes the biggest challenge of all.

Cluj-Napoca, Romania lucteo.github.io