community

My take on variant--Jonathan Müller

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.

Report from using std::cpp 2016 -- Daniel Garcia

Daniel Garcia reports from the recent std::cpp conference:

Conference Report

by Daniel Garcia

From the report:

Last November 24th we had the fourth edition of using std::cpp, our annual spanish conference on C++ for professional developers. The conference is a one-day free event held every year at University Carlos III of Madrid, in Leganés. We had around 200 registered attendees (most of them professional developers).

We would like to share some answers from the evaluation questionaries:

  • 75% of attendees were professional developers, 14% were students, and 11% were academics.
  • 92% declared they use regularly C++.
  • The most popular version of C++ was C++11 (73%), followed by C++98/03 (63%) and C++14 (21%). Note that you could vote for more than one. However, no one declared to make use of any extension or TS.
  • Most popular compiler was gcc (60%), followed by Microsoft (57%), and clang++ (14%).
  • When we asked for domains a found a split among multiple sectors: telco (20%), aerospace/naval (11%), civil engineering (9%), bank/finance/insurance (7%), developer tools (7%), videogames (6%), research/academia (4%), transport (4%), industrial manufacturing (2%).

 

Return early and clearly--Arne Mertz

How to return well:

Return early and clearly

by Arne Mertz

From the article:

There are different guidelines out there about where and how many return statements to use in a function, e.g. return only once at the end of the function or return early and often. Which one makes for the most readable code?

More Meeting C++ 2016 videos are online!

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.

C++ User Group Meetings in December

The monthly list of upcoming C++ User Group meetings:

C++ User Group meetings in December

by Jens Weller

From the article:

In total its already 30 groups which are meeting, also there are 10 new groups since the last posting:

Minsk, London, Melbourne, Karlsruhe, Ulm (Qt), San Diego, Belgrade, Luxembourg, Dallas FW, Plano.

Trip Report: C++ Standards Meeting in Issaquah, November 2016--Botond Ballo

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...

Why you should use Boost.MultiIndex (Part II)--David Gross

The series continue:

Why you should use Boost.MultiIndex (Part II)

by David Gross

From the article:

A few weeks ago, I posted the first part of this article, where I explained the advantages of Boost.MultiIndex over the standard containers when you need to have multiple views on a set of data.

In this second part, I would like to talk about the benefits you can get from using Boost.MultiIndex as a single-index hash table, as a replacement of std::unordered_map.

One interesting and powerful aspect of Boost.MultiIndex is that it allows you to add an index of type T, where T is different from the stored type. And it is more frequent and useful that you could think.