Trip report: Winter ISO C++ standards meeting (Kona) -- Herb Sutter

From the just-concluded ISO C++ meeting:

Trip report: Winter ISO C++ standards meeting (Kona)

by Herb Sutter

From the article:

Per our official C++20 schedule, this was the last meeting to approve features for C++20...

So we now know most of the final feature set of C++20! At our next meeting in July, we expect to formally adopt a few additional features that were design-approved at this meeting but didn’t complete full wording specification review this week, and then at the end of the July meeting we will launch the primary international comment ballot (aka CD ballot) for C++20....

CopperSpice: Evolution of Graphics Technology

New video on the CopperSpice YouTube Channel:

Evolution of Graphics Technology

by Barbara Geller and Ansel Sermersheim

About the video:

In this video, we cover the complex history of modern graphics technoloy. We look at the various graphics standards and explain how some of the differences came about between OpenGL, Vulkan, Mantle and Metal.

Please take a look and remember to subscribe!

Cpp On Sea 2019 Trip Report--Arne Mertz

Were you there?

Cpp On Sea 2019 Trip Report

by Arne Mertz

From the article:

From February 3rd through February 6th I have been in Folkestone, UK, to visit the first C++ On Sea conference.

There must be something in the water on that island that enables them to organize fantastic conferences like ACCUConf and, since this year, C++ On Sea.
C++ On Sea is definitely the best conference I have ever been to, and here’s a little glimpse why I think so...

HPX V1.2.1 released -- STE||AR Group

The STE||AR Group has released V1.2.1 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.2.1 Released

The newest version of HPX (V1.2.1) is now available for download! Please see here for the release notes. This release is a pure bug fix release that addresses a couple of compatibility problems (in particular with Boost V1.69). We have also included some important improvements that were merged since the previous release.

    HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).

    HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.

 

2 Lines Of Code and 3 C++17 Features - The overload Pattern--Bartlomiej Filipek

Proof that you can do more!

2 Lines Of Code and 3 C++17 Features - The overload Pattern

by Bartlomiej Filipek

From the article:

While I was doing research for my book and blog posts about C++17 several times I stumbled upon this pattern for visitation of std::variant:

template<class... Ts> struct overload : Ts... { using Ts::operator()...; };
template<class... Ts> overload(Ts...) -> overload<Ts...>;

std::variant<int, float> intFloat { 0.0f };
std::visit(overload(
    [](const int& i) { ... },
    [](const float& f) { ... },
  ),
  intFloat;
);

With the above pattern, you can provide separate lambdas “in-place” for visitation.

It’s just two lines of compact C++ code, but it packs a few interesting concepts.

Let’s see how this thing works and go through the three new C++17 features that enable this one by one.