A Universal I/O Abstraction for C++ -- Corentin Jabot

SG-11, the study group charged of all things concurrency and parallelism made forward progress and sent the proposal to LEWG - with the hope of landing a future revision in the C++23 draft. This is rather big news given that this work has been brewing for about a decade.

A Universal I/O Abstraction for C++

by Corentin Jabot

From the article:

The year is 2020 and even consummer CPUs feature double digits number of cores, storage offers 10GB/s read speeds and networks have to accommodate ever-growing traffic.

For a long time, the C++ committee seemed to think that either async file I/O didn’t make sense or was fundamentally irreconcilable with networking. This belief would lead to two inter-incompatible APIs in the standard, which would be a nightmare in term of usability (aka ASIO and AFIO).

It seems that there is finally a way to resolve these divides:

io_uring offers very high performance I/O which doesn’t discriminate on device type.
Sender Receiver provides the composable, low-cost, non-allocating abstraction while offering a simple mental model for asynchronous operations lifetime.
Coroutines make asynchronous i/o dead simple for the 99% use case.
Asynchronous Networking is nice.

Asynchronous I/O is better.

AWAIT ALL THE THINGS!

C++20 Concepts--omnigoat

Getting familiar with concepts.

C++20 Concepts

by omnigoat

From the article:

A quick syntax-based overview of C++20 Concepts, as they are in the standard (circa January 2020)...

C++ in 2020--Jens Weller

Don't miss it!

C++ in 2020

by Jens Weller

From the article:

Now where the year is a few weeks old, lets see whats ahead for C++ in 2020!

I'll cover the Meeting C++ Community Survey, Conferences, Libraries & Releases, ISOCPP and C++20.

This blog post is based on a newsletter, which is based on a talk I gave at my User Group in Düsseldorf two weeks ago. Come and visit our meetings at the 3rd Wednesday of the month! My C++ User Group is also still looking for speakers in 2020, contact me if you're in town!

CLion starts 2020.1 Early Access Program: improvements to Clang-based tools...--Anastasia Kazakova

Check it out.

CLion starts 2020.1 Early Access Program: improvements to Clang-based tools and debugger, new font and editor theme, and more

by Anastasia Kazakova

From the article:

We’ve got a lot planned for 2020 and 2020.1 and now it’s time to start our regular Early Access Program!

EAP builds are free and give you a preview of the upcoming changes and enhancements. They might not be stable and might contain functionality that doesn’t make it to the final release. And if you decide to try these builds, please, inform us of any issues you run into or any inconveniences you experience as early as possible, so we have time to investigate and can try to address them before the release...

POCO Release 1.10.0 Available

POCO 1.10.0 is now available:

POCO Release 1.10.0 available

by POCO Team

About the release

Release 1.10 is a major feature release, introducing C++14 support and the new JWT (JSON Web Token) library, as well as the PostgreSQL connector for the Data library. Other notable features are NTLM authentication support in the Net library and TLS 1.3 support in the NetSSL library. Please see the POCO blog for more details, and CHANGELOG for the full list of 60+ changes.

 

Decorating with a side effect -- Krzysztof Ostrowski

A taste of functional stack of effects.

Decorating with a side effect

by Krzysztof Ostrowski

From the article:

Logging is one of such overused features, that leads to costly side effects (consider distributed logging, a DLT, prevalent in automotive industry). This article describes a technique that is used to extract side effects brought by logging, and then compose with them back in a well defined manner.

C++20 Reference Card--Bartlomiej Filipek

The big ones.

C++20 Reference Card

by Bartlomiej Filipek

From the article:

While the C++20 Standard is still being finalised and polished, we know all of its core features. At first, the new specification of the language might sound complex and overwhelming. That’s why, if you want to have an overview of the core elements and get the bigger picture, you can have a look at my new reference card...

C++ Modules conformance improvements with MSVC in Visual Studio 2019 16.5--Cameron DaCamara

Did you try it yet?

C++ Modules conformance improvements with MSVC in Visual Studio 2019 16.5

by Cameron DaCamara

From the article:

C++20 is right around the corner. Along with the new standard comes the much anticipated Modules feature! The compiler team initially announced that we were working on the Modules TS back in 2017 and since then we have been hard at work improving the feature and improving compiler conformance around this feature. We finally feel it is time to share some of the progress we have made on the conformance front for Modules...

MSVC Backend Updates in Visual Studio 2019 Versions 16.3 and 16.4--Kevin Cadieux

Are you using it?

MSVC Backend Updates in Visual Studio 2019 Versions 16.3 and 16.4

by Kevin Cadieux

From the article:

Versions 16.3 and 16.4 of Visual Studio 2019 brought many new improvements in code generation quality, build throughput, and security. If you still haven’t downloaded your copy, here is a brief overview of what you’ve been missing out on...