Quick Q; Concise explanation of reference collapsing rules requested: (1) A& & -> A&...

Quick A: the result is the same as calling the function you're forwarding to directly.

Recently on SO:

Concise explanation of reference collapsing rules requested: (1) A& & -> A& , (2) A& && -> A& , (3) A&& & -> A& , and (4) A&& && -> A&&

The reference collapsing rules (save for A& & -> A&, which is C++98/03) exist for one reason: to allow perfect forwarding to work...

CppCon 2019 Call for Poster Submissions

Are you doing something cool with C++? Got a great new library, technique, or tool?

CppCon 2019 Poster Submission

by CppCon

About the event

CppCon is pleased to announce its fourth Poster Session, with the objective of fostering conversation around the many exciting projects, approaches, design patterns, and creative work in which the C++ community is engaged.

CppCast Episode 205: CMake and VTK with Robert Maynard

Episode 205 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Robert Maynard from Kitware to discuss CMake and VTK.

CppCast Episode 205: CMake and VTK with Robert Maynard

by Rob Irving and Jason Turner

About the interviewee:

Robert Maynard is a principal engineer at Kitware and spends most of his time as a primary developer of VTK-m. VTK-m is a HPC toolkit of scientific visualization algorithms for highly concurrent processor and accelerator architectures. It uses a fine-grained concurrency model for data analysis and visualization algorithms allowing for seamless execution on GPU's or many-core CPUs.

When not working on VTK-m, Robert is either; writing CMake code, teaching CMake, or working to improve CMake.

Use constexpr for faster, smaller, and safer code--Trail of Bits

More safety, maybe more speed.

Use constexpr for faster, smaller, and safer code

by Trail of Bits

From the article:

With the release of C++14, the standards committee strengthened one of the coolest modern features of C++: constexpr. Now, C++ developers can write constant expressions and force their evaluation at compile-time, rather than at every invocation by users. This results in faster execution, smaller executables and, surprisingly, safer code...

Simplify Your Code With Rocket Science: C++20’s Spaceship Operator--Cameron DaCamara

Exited?

Simplify Your Code With Rocket Science: C++20’s Spaceship Operator

by Cameron DaCamara

From the article:

C++20 adds a new operator, affectionately dubbed the “spaceship” operator: <=>. There was a post awhile back by our very own Simon Brand detailing some information regarding this new operator along with some conceptual information about what it is and does.  The goal of this post is to explore some concrete applications of this strange new operator and its associated counterpart, the operator== (yes it has been changed, for the better!), all while providing some guidelines for its use in everyday code.

PVS-Studio in the Clouds - Running the Analysis on Travis CI

At the moment, cloud CI systems are a highly-demanded service. In this article, we'll tell you how to integrate analysis of source code into a CI cloud platform with the tools that are already available in PVS-Studio. As an example we'll use the Travis CI service.

PVS-Studio in the Clouds - Running the Analysis on Travis CI

by Oleg Andreev

From the article:

Travis CI is a service for building and testing software that uses GitHub as a storage. Travis CI doesn't require changing of programming code for using the service. All settings are made in the file .travis.yml located in the root of the repository. We'll take LXC (Linux Containers) as a test project for PVS-Studio. It is a virtualization system at the operation system level for launching several instances of the Linux OS at one node. The project is small, but more than enough for demonstration.