Implementing Parallel copy_if in C++

In a blog post about a dozen ways to filter elements, I mentioned only serial versions of the code. But how about leveraging concurrency? Maybe we can throw some more threads and async tasks and complete the copy faster? For example, I have 6 cores on my machine, so it would be nice to see, like 5x speedup over the sequential copy?

READ MORE...

C++ Lambda Story in Print

I’m happy to announce the print/paperback version of C++ Lambda Story! After more than a year of updates and smaller changes, the whole project is completed! You can now purchase the book in lots of different formats. See details of this major update and also take part in a giveaway and get the book for free :)

READ MORE...

Visual Studio's Natvis Debugging Framework Tutorial

Last time in A Debugging Tip: Write Custom Visualizers in Visual Studio, I introduced the Visual Studio’s Natvis Framework and showed you a couple of samples. That article was just a basic introduction, and now it’s time to see more experiments. Learn From Existing Code First of all, we can examine existing code that is shipped with Visual Studio and see how it works.

READ MORE...

C++ at the end of 2020

While 2020 was a crazy and hard year we were fortunate - C++20 was accepted and published, and the work on new features continues. As usually every year, here’s my overview of the year: the standardization process, features, implementation, compilers, tools, books and more. Other Reports: 2020 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012.

READ MORE...

Why Not a Functor and Lambda Story Updates

I’m happy to announce a new update to my book on lambda expressions! A few pages more, and what’s important is that I heavily improved the consistency and some wording. All of that, thanks to valuable input from my readers and C++ experts. And today we’ll also have a look at one wording case - what’s a functor?

READ MORE...