A Small Set-Algorithm For Enum Values -- Felix Petriconi

Inspired by Sean Parent's recent Tweet I came up with this idea:

A Small Set-Algorithm For Enum Values

by Felix Petriconi

From the article:

Often we have in our own production code statements like this:

auto predicate = [](State state) {
  return state == MyEnumClass::ValueA ||
         state == MyEnumClass::ValueD ||
         state == MyEnumClass::ValueEWithAVeryLongName;
};

A better readable solution with less typing is described there.

Twitter for C++ Programmers--Andrey Karpov

This small post is for those programmers who use Twitter or are just about to start doing this. I'm sure developers will find some useful information here.

Twitter for C++ Programmers

by Andrey Karpov

From the article:

So, you are a C++ programmer. If you are wondering if you can find something interesting for yourself on Twitter, I have a few tips for you.

CppCon 2014 The Canonical Class--Michael Caisse

While we wait for CppCon 2015 in September, we’re featuring videos of some of the 100+ talks from CppCon 2014. Here is today’s feature:

The Canonical Class

by Michael Caisse

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

It was a simpler time. A period in which every college student and learn-C++-in-a-weekend duffer could write a class with the assuredness that it would behave as desired when assigned and copied. There was a check list. Complete the checklist, add some domain specific behaviour, bake in the regression oven, and you were done.

Enter C++11 with its fancy new use of the delete keyword, additional applications of explicit, rvalue references, and some perfect forwarding. How are you to write a "simple" class? Should you include a swap? What does movable mean and are there expected semantics? When is the noexcept specifier used?

During this session we will explore the boilerplate of a C++11 class. The session will touch on rvalue references, move semantics, perfect forwarding, explicit, noexcept, initializer lists, and more as it applies to producing the desired semantics for our classes and structs.

Generic Parallel Programming

A new video from Meeting C++ 2014:

Generic parallel programming for scientific and technical applications

by Guntram Berti

From the talk description:

Technical and scientific applications dealing with a high computational load today face the challenge to match the increasingly parallel nature of current and future hardware. The talk shows how the increased complexity of software can be controlled by using generic programming technologies. The process and its advantages are introduced using many concrete examples...

for_each_argument -- Sean Parent

Sean Parent just published via Twitter this amazing short piece of code.

for_each_argument

by Sean Parent

The code is:

template <class F, class... Args>
void for_each_argument(F f, Args&&... args) {
    [](...){}((f(std::forward<Args>(args)), 0)...);
}

A Casting Show -- Arne Metz

In this next article Arne Mertz describes different type casts.

A Casting Show

by Arne Mertz

From the article:

In C++ there are two ways of type conversions: implicit and explicit type conversions. The latter are called type casts and they are what this post is about.

N4351: Parallelism PDTS responses to National Body Comments -- Barry Hedquist

New WG21 papers are available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4351

Date: 2014-12-23

Responses to National Body Comments, ISO/IEC PDTS 19570, Technical Specification: C++ Extensions for Parallelism

by Barry Hedquist

Excerpt:

Attached is WG21 N4351, National Body Comments for ISO/IEC PDTS 19570, Technical Specification – C++ Extensions for Parallelism.

Document numbers referenced in the ballot comments are WG21 documents unless otherwise stated.