Why iterators got it all wrong - Arno Schödl - Meeting C++ 2016
Next video from Meeting C++ 2016:
Why iterators got it all wrong
by Arno Schödl
February 10-15, Hagenberg, Austria
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Meeting C++ | Jan 17, 2017 04:49 AM | Tags: ranges iterators intermediate experimental efficiency advanced
Next video from Meeting C++ 2016:
Why iterators got it all wrong
by Arno Schödl
By Adrien Hamelin | Jan 11, 2017 12:59 PM | Tags: intermediate experimental
Sorting can be done many ways.
A “sorted view”
by Nick Athanasiou
From the article:
This installment elaborates on the creation of a “sorted_view” utility. The “References” section contains links to the complete code; throughout the article, we provide demos and snippets to showcase and explain the implementations. The section on modernizing the code contains real world applications of the following C++17 features:
- structured bindings
- template argument deduction for class templates
By Adrien Hamelin | Dec 30, 2016 03:16 PM | Tags: experimental community
An interesting point of view and implementation of a variant in one article!
My take on variant
by Jonathan Müller
From the article:
C++17 is going to add std::variant. To quote the linked documentation, it is a “type-safe union”. A union is like a struct, but can only store one member at a time. This has many applications, but sadly it doesn’t mix well with non-trivial types, you have to call the destructor yourself etc. Furthermore, nothing prevents you from accessing a union member that isn’t active.
std::variant fixes that. It correctly calls the destructor when switching the active member, it prevents invalid access, etc. However, I’m not quite happy with it and I needed an implementation now. So I’ve decided to implement my own variant as part of my type_safe library.
It was a fun challenge and since my previous attempt was two years ago, I could improve it a lot. Let’s go through some of my design decisions.
By Adrien Hamelin | Dec 29, 2016 01:56 PM | Tags: intermediate experimental
Let's use those fold operators!
Folding Functions
by Sumant Tambe
From the article:
In the last post we looked at basic usage of C++17 Fold Expressions. I found that many posts on this topic discuss simple types and ignore how folds may be applicable to more complex types as well. In this post I'm going to describe folding over functions...
By Adrien Hamelin | Dec 29, 2016 01:48 PM | Tags: intermediate experimental
They are made easier with this article.
Understanding Fold Expressions
by Sumant Tambe
From the article:
C++17 has an interesting new feature called fold expressions. Fold expressions offer a compact syntax to apply a binary operation to the elements of a parameter pack...
By Meeting C++ | Dec 16, 2016 10:48 AM | Tags: video performance intermediate experimental efficiency community c++14 c++11 boost basics advanced
A week full of video editing brings the first batch of Meeting C++ 2016 videos online:
More videos are online!
by Jens Weller
Meeting C++ 2016 Playlist
From the article:
With today, almost all videos from the A and all videos of the D Track are online. There is a recording issue with one talk in the A track, which might get resolved in 2017. Also since today, the Meeting C++ YouTube channel has more then 400k views!
The full video set you can find in the Meeting C++ 2016 Playlist, the newest videos are easily found by visiting the Meeting C++ YouTube channel or subscribing to this RSS feed.
By Adrien Hamelin | Dec 12, 2016 02:55 PM | Tags: experimental basics
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...
By Adrien Hamelin | Dec 7, 2016 11:48 AM | Tags: experimental basics
The transformation is only a beginning towards catching up from C++98, but it does show why modern C++ features improve your code.
C++ 17 Transformation...
by phantom
From the article:
I'm basically really bad at working on my own projects, but with the recent release of Visual Studio 2017 RC and its improved C++17 support I figured it was time to crack on again...
To that end I've spent a bit of time today updating my own basic windowing library to use C++17 features. Some of the things have been simple transforms such as converting 'typedef' to 'using', others have been more OCD satisfying...
By Meeting C++ | Dec 5, 2016 08:23 AM | Tags: tmp metaprogramming intermediate experimental c++20 c++17 c++14 advanced
And the second keynote of Meeting C++ 2016 is on youtube:
C++ Metaprogramming: evolution and future direction
by Louis Dionne
By Adrien Hamelin | Nov 29, 2016 02:14 PM | Tags: experimental community
C++17 makes a new step.
Trip Report: C++ Standards Meeting in Issaquah, November 2016
by Botond Ballo
From the article:
Last week I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Issaquah, Washington (near Seattle). This was the third and final committee meeting in 2016; you can find my reports on previous meetings here (February 2016, Jacksonville) and here (June 2016, Oulu), and earlier ones linked from those. These reports, particularly the Oulu one, provide useful context for this post...