Third Annual C++ Foundation Developer Survey "Lite"

cpp_logo.pngNote: Given the pandemic, we weren't sure whether to run our annual survey now at all. Thank you very much to the several hundred people who gave their feedback on our poll about that... you overwhelmingly encouraged us to go ahead, and so here we are trying to do it. We look forward to your responses and insights, but most of all we want to send our best wishes to all of you in our global C++ community and your families and loved ones; C++ has always enjoyed a cohesive global community, and never more so than now as we are all going through this dreadful shared experience together in virtually all countries. Please be safe, everyone.


The Standard C++ Foundation's third annual global C++ developer survey is now open. As the name suggests, it's a one-pager:

2020 Annual C++ Developer Survey "Lite"

Please take 10 minutes or so to participate! A summary of the results, including aggregated highlights of common answers in the write-in responses, will be posted publicly here on and shared with the C++ standardization committee to help inform C++ evolution.

The survey closes in one week.

Thank you for participating and helping to inform our committee and community.

Italian C++ Conference 2020 will be an online-only event--Marco Arena

Due to COVID-19 global situation, we have made the decision that:

Italian C++ Conference 2020 will be an online-only event

by Marco Arena

From the article:

In light of recent developments globally and the growing concerns around the spread of the COVID-19 virus, we have made the decision that this year’s Italian C++ Conference will be an online-only/virtual event. It will be scheduled for the same day at the same time (June 13 from 9 AM to 6 PM CEST)...

C++20: More Details to Coroutines--Rainer Grimm

Understand them to be able to use them.

C++20: More Details to Coroutines

by Rainer Grimm

From the article:

My job in this and further posts is to explain the framework for building coroutines. On the end, you can create your own or using an existing implementation of coroutines such as the excellent one cppcoro from Lewis Baker.

Today's post is in-between: This post is not an overview but also not in-depth dive into the coroutines framework that follows in the next posts.

The first question you may have is: When should I use coroutines?

Implementing span's comparisons--Barry Revzin

Not so easy.

Implementing span's comparisons

by Barry Revzin

From the article:

One of the new types in C++20 is std::span<T> (with its fixed- size counterpart std::span<T, N>). This is a very useful type, since it’s a type-erased view onto a contiguous range - but unlike more typical type erasure (e.g. std::function), there’s no overhead. I’ve previous written about span here.

In the initial design, std::span<T> had comparison operators that performed a deep comparison. Those operators were subsequently removed. I think that removal was a mistake, since these operators are very useful (as in, we have a span-like type in our codebase and we use these operators), but this blog isn’t going to be about why they were removed or why they should be added back.

Instead, this blog is about how to implement span’s comparison operators, since I think that is interesting and demonstrates a bunch of C++20 features all in one go. You can jump straight to the C++20 implementation here or you can just directly add it to your code base using my span_ext repo here...

Kafka’s uncle spends a week with Les Booloise: Prague trip report--Guy Davidson

Another point of view.

Kafka’s uncle spends a week with Les Booloise: Prague trip report

by Guy Davidson

From the article:

I love Czechia and I love Prague. I have visited a few times: most recently to give a talk at the Avast meetup last February, organised by Hana Dusíková, who also organised this WG21 meeting. She did an absolutely outstanding job, and I know that I share that opinion with many committee folk.

Of course, this was the meeting that C++20 was due to be signed off by WG21 and sent for polling by the National Bodies (NB) before going to ISO for publication. Plenty of time was spent on attending to outstanding NB comments but there was still scope for reviewing new proposals.

On top of that, there was a social event on Wednesday evening to celebrate the release, which took place at Pražská Křižovatka. The whole week was as tiring as ever, but I was delighted to be there, to make “the team photo” and to advance some of my work. If you are interested in a detailed report of the work completed you can find one on reddit: I am going to discuss my work and experiences...

Requires-clause--Andrzej Krzemieński

Learn about the close future.


by Andrzej Krzemieński

From the article:

In this post we will talk about another C++20 feature related to constraining templates: requires-clause. Although C++20 is due to be published this year, it is not there yet; so we are talking about the future. However, this can already be tested in trunk versions of GCC and Clang online in Compiler Explorer...

Conan integration in GitLab

gitlab-logo-gray-rgb.pngConan, the C and C++ package manager, is now part of GitLab

Conan users can now set GitLab as the remote registry for their packages

From the article:

This allows users to share private packages within an organization that is already using GitLab, publish public packages for general or open source use, and will open up many possibilities in utilizing GitLab’s CI pipelines to build and consume these packages automatically.

LLVM/Clang 10.0.0 is released!

Full of novelty.

LLVM/Clang 10.0.0 is released!

From the article:

Some highlights include:

  • C++ Concepts support in Clang
  • Clang no longer runs in a separate process by default ("in-process cc1")
  • Windows control flow guard (CFG) checks
  • Support for more processor cores and features