Path Exploration -- Adi Shavit

A short stroll along filesystem::path.

Path Exploration

by Adi Shavit

From the article:

The “experimental” Filesystem TS has been with us for a few years living in the std::experiment namespace. With C++17 it will finally be merged into std.

When noexcept?--Edouard of quasardb

A good question with a good answer.

When noexcept?

by Edouard of quasardb

From the article:

In a previous post, we had a look at the new constexpr keyword that has been introduced in C++ 11. Today we'll study another new fancy specifier: noexcept...

N4632: Draft agenda for Kona

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

Document number: N4632

Date: 2016-12-13

PL22.16/WG21 draft agenda: 27 Feb - 4 Mar 2017, Kona, HI, US

by Clark Nelson

Excerpt:

The primary goals of this meeting will be:

  • Finish processing ballot comments (P0488R0) on the C++17 CD (N4604)
  • Advance C++17 (prospective WD N4618) to DIS

Additional, lower-priority goals include:

  • Try to advance Modules (WD N4610) to PDTS
  • Try to advance Parallelism v2 (WD N4578) to PDTS
  • Try to advance Coroutines (prospective WD N4628) to PDTS
  • Try to advance Concurrency v2 to NP

Simplifying templates and #ifdefs with if constexpr--Simon Brand

The new if constexpr will change a good part of our code for the better!

Simplifying templates and #ifdefs with if constexpr

by Simon Brand

From the article:

if constexpr is a C++17 feature which allows conditionally compiling code based on template parameters in a clear and minimal fashion. It is essentially an if statement where the branch is chosen at compile-time, and any not-taken branches are discarded without being instantiated...

Capturing perfectly-forwarded objects in lambdas -- Vittorio Romeo

Does [x = std::forward<decltype(x)>] behave like you expect?

capturing perfectly-forwarded objects in lambdas

by Vittorio Romeo

From the article:

Perfect forwarding and forwarding references allow developers to write generic template functions that retain the lvalueness/rvalueness of passed arguments [...] Let's try to use auto&&, std::forward and C++14's generalized lambda capture syntax to implement our desired semantics. [...] What we really want to do is:

  • Capture by copy if a is an rvalue reference.
  • Capture by reference if a is an lvalue reference.

[...]

Technical Debt - More Captureless Lambda Fun -- Adi Shavit

More interesting facts about captureless lambdas.

Technical Debt

by Adi Shavit

From the article:

The series on captureless lambdas generated some interesting comments.  
The articles discusses converting captureless lambdas into function pointers without explicitly specifying the cast-to type, calling conventions and standard conformance and a special callbackizing function for capturing lambdas.

Slides of the 24th of November 2016 BeCPP Meeting

BeCPP_Logo_282x64.pngOn 24th of November, the Belgian C++ Users Group had their next event sponsored by Nikon Metrology.

Slides of the 24th of November 2016 BeCPP Meeting

There were two presentations:

  • "Mobile App Development for Multiple Platforms with Visual C++, 2016" (Marc Gregoire)
  • "What’s new in C++17?" (Peter Van Weert)

If you couldn’t attend the event in person, or if you would like to go over the material again, you can download them from the BeCPP website.

The view from Nov 2016 C++ Standard Meeting Issaquah

Hi all, I have been on airplanes for the last 10 weeks in a row, starting with CPPCON 2016 on September 16 2016. But first, I wanted to update everyone on the latest status of the C++ Standard meeting from Issaquah on Nov 7, 2016. Here is a blog post where you can see a video of what is coming for C++17 and download the slides. You can also see what happened in Issaquah for Evolution, Parallelism, Concurrency, and the latest status of the National Body Comments:

https://wongmichael.com/2016/12/09/the-view-from-nov-2016-c-standard-meeting-issaquah/