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.

Coding dojo in C++ Madrid | March 2017 @ Tuenti

Madrid's C++ meetup is organizing a Coding Dojo at Tuenti's HQ (calle Valverde, ID required).

Title: Coding "dojo" C++ moderno (C++11, C++14)

Organized by C++ Madrid

Several katas will be proposed by Manu Sánchez, Diego Rodríguez-Losada and Esteve Fernández which will be solved and discussed in common. Read more in the link above [in Spanish].

 

We've got a full house already!! Thanks for your interest.

Lambda Overdose

Do you feel the same way?

Lambda Overdose

by Arne Mertz

From the article:

Lambdas are a nice recent addition to C++. They are cool, they are hip, and they tend to be overused and misused.

Since lambda expressions came up in C++11 and got a huge boost in usability in C++14, they have been all the rage. Don’t get me wrong. Lambdas really are useful and cool and everything. But reading blog posts, the CppLang Slack channel and other sources lately has given me the impression that some people use lambdas in ways they should not be used...