Meeting C++ 2016: closing keynote & full schedule

With the announcement of the closing keynote the full schedule for Meeting C++ 2016 stands!

Closing keynote & full schedule of Meeting C++ 2016

by Jens Weller

From the article:

Since mid of June the program of the 5th Meeting C++ conference was taking shape. With the selection of the talks it was also clear in which tracks they go, so that the schedule it self was almost ready, except a last detail: the closing keynote.

The closing keynote will be held by Louis Dionne on "C++ metaprogramming: evolution and future directions".

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Library--JWAKELY

C++ continues to evolve:

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Library

by JWAKELY

From the article:

The recent WG21 meeting in Oulu, Finland, was an especially busy one for the Library Working Group. Every day was spent working through the list of proposals intended for inclusion in C++17, and we also had three “evening” sessions that ran well past the evening (until nearly midnight, although the sun was still up to trick us into working late)...

 

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Core Language--Jason Merrill

C++ continues to evolve:

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Core Language

by Jason Merrill

From the article:

It was quite a trek to get to Oulu, Finland for the June 2016 C++ Standards Committee meeting, but we were warmly received and the meeting went well once we arrived. We had very pleasant weather most of the week, and it was fun to experience the midnight sun, even though it played havoc with my sleep schedule.

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Parallelism and Concurrency--Torvald Rie

C++ continues to evolve:

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Parallelism and Concurrency

by Torvald Riegel

From the article:

Several Red Hat engineers recently attended the JTC1/SC22/WG21 C++ Standards Committee meetings in Oulu, Finland.  This post focuses on the sessions of SG1 (the standards committee sub-group 1 – for concurrency and parallelism) as well as on coroutines-related sessions. Jason already gave an overview of the meeting in his post.

Quick Q: How to express constness of a forwarding reference?

Quick A: To express constness, a const reference is what is needed.

Recently on SO:

How to express constness of a forwarding reference?

How can I express that f does not modify its parameter?

If the function doesn't modify its parameter then there is no benefit to using a forwarding reference. You use a forwarding reference when you want to forward the parameter on to some other function which cares whether the argument is an lvalue or an rvalue (because maybe there are separate overloads for lvalues and rvalues, and the rvalue one can be more efficient).

If your function doesn't modify the argument then it shouldn't need to care whether it has an lvalue or rvalue, so it can just take const T& unconditionally. That can bind to both lvalues and rvalues, and promises not to modify the parameter.

template<typename T>
void f(const T& t) { ... }

CppCon 2015 Large Scale C++ with Modules: What You Should Know--Gabriel Dos Reis

Have you registered for CppCon 2016 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2015 for you to enjoy. Here is today’s feature:

Large Scale C++ with Modules: What You Should Know

by Gabriel Dos Reis

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

“Modules” are a frequently requested and long-awaited feature by C++ programmers. In a nutshell, the idea is to have a direct language support for (a) expressing the boundaries and dependencies of a program component; (b) isolating source codes from macro vagaries; (c) scaling compile time, especially for large projects, given the ubiquity of “headers-only” template libraries; (d) spur innovation and deployment of semantics-aware developer tools.

This presentation will focus on three major points: (1) the design of the module proposal currently being considered by the C++ standards committee (design goals, properties, constraints); (2) implementations currently under way; and (3) early user experience and migration.

Modules directly address a problem (scalability) listed as one of the three major areas where C++17 is expected to significantly improve daily experience of the working C++ programmer. Naturally, this feature is also on the top ten list of C++17 functionalities Bjarne Stroustrup put forward in his “Thought on C++17.”

HPX version 0.9.99 released -- STE||AR Group

The STE||AR Group has released V0.9.99 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.99 Released

The newest version of HPX (V0.9.99) is now available for download! Please see here for the release notes.

HPX exposes an API fully conforming to the concurrency related parts of the C++11/C++14/C++17 standards, extended and applied to distributed and heterogeneous computing, and aligned with the ongoing standardization discussions.

From the announcement:

  • Version 1.0 approaches! This release is significant as HPX is nearly feature complete. Over the next several months we will continue to test and polish HPX’s API and documentation. The feedback and experience gained from the community’s utilization of this release will provide guidance on where to add the finishing touches for V1.0.
  • We have put a lot of effort into improving the overall performance and stability of the library. Applications written using HPX have shown to outperform equivalent applications which are based on more conventional parallelization methods.
  • In this release we finished the implementation of transparent migration of components to another locality (e.g. physical compute-node). It is now possible to trigger a migration operation without ‘stopping the world’ for the object to migrate. HPX will make sure that no work is being executed on the object while it is moved and that all subsequently scheduled work for the migrated object will be transparently forwarded to the new locality. The global address of the migrated object does not change, thus the application will not have to be changed in any way to support this new functionality.