Learn C++ Concepts with Visual Studio and the WSL--Andrew Pardoe

Now you can learn Concepts TS in Visual Studio 2017 by targeting the Windows Subsystem for Linux (WSL):

Learn C++ Concepts with Visual Studio and the WSL

by Andrew Pardoe

From the article:

Concepts enable adding requirements to a set of template parameters, essentially creating a kind of interface. The C++ community has been waiting years for this feature to make it into the standard...

Who Owns Who? (Inverting the PathEngine ownership graph) -- Thomas Young

Blog post about API design for objects with dependencies and lifetime management:

Who owns who

by Thomas Young

About the article

A key take-away is that a simple reference counting strategy can be the ideal way to manage lifetimes for API objects, since, as the API designer we can choose to enforce a directed acyclic graph dependency structure.

Toggles in functions -- Andrzej Krzemieński

A bool or enum by any other name:

Toggles in functions

by Andrzej Krzemieński

From the article:

Have you ever seen a function call like this?

process(true, false);

We are processing something: this should be clear from the context. But what do these parameters mean? What is true and what is false? From the function call we will never figure it out. The code surely isn’t self explanatory.

We will have to stop, and take a look at the declaration, and it does give us a hint:
void process(bool withValidation,
             bool withNewEngine);

Apparently, the author of the function uses the two bools as toggles...

std::transform, a central algorithm -- Jonathan Boccara

And why if you want transform_if you'll really appreciate ranges:

std::transform, a central algorithm

by Jonathan Boccara

From the article:

The concept of std::tranform is so useful that there is a name for it, coming from functional programming: map (unrelated to std::map). In fact, we can see it the other way round: the STL takes its root in functional programming, so it is only normal that a central concept in functonal programming gets a central role in the STL...

CppCast Episode 89: Jumping into C++ with Alex Allain

Episode 89 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Alex Allain from Dropbox to talk about Dropbox's Djinni code generator and Alex's book Jumping into C++.

CppCast Episode 89: Jumping into C++ with Alex Allain

by Rob Irving and Jason Turner

About the interviewee:

Alex Allain is a Director of Engineering at Dropbox. He was one of the first engineers on the Dropbox Business product before leading Dropbox's Product Platform group, whose initiatives includes the Dropbox Sync Engine, shared mobile C++ and developer tools. Alex has run Cprogramming.com since 1998 and is the author of Jumping into C++, a book for new programmers.