C++ México, this week on Twitch.tv: Q&A with Titus Winters
Welcome to our newest WG21 national body! Join them this week live at...
C++ México: twitch.tv/cppmexico
This week's guest: Titus Winters
Wednesday March 31, at 19:30pm GMT-6
June 16-21, Sofia, Bulgaria
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Blog Staff | Mar 29, 2021 09:34 AM | Tags: None
Welcome to our newest WG21 national body! Join them this week live at...
C++ México: twitch.tv/cppmexico
This week's guest: Titus Winters
Wednesday March 31, at 19:30pm GMT-6
By Adrien Hamelin | Mar 25, 2021 11:35 AM | Tags: community
Will you answer?
Italian C++ Conference 2021 - Call for Sessions
by Marco Arena
From the article:
Since 2016, the Italian C++ Conference is the biggest and most successful event organized by the Italian C++ Community where professionals, companies and students meet to share experience about C++ development and practices.
The next conference is planned for June 19, online (Remo) and will be free to attend (as usual)...
By Adrien Hamelin | Mar 25, 2021 11:35 AM | Tags: c++20
The series continue.
Creating a task completion source for a C++ coroutine: Producing nothing
by Raymond Chen
From the article:
Last time, we created a result_holder that can hold a reference, and we solved it by using a wrapper. But there’s another type that we can’t put in a result_holder, not even with the help of a wrapper. That type is void...
By Adrien Hamelin | Mar 25, 2021 11:33 AM | Tags: c++20
The series continue.
Creating a task completion source for a C++ coroutine: Producing a result with references
by Raymond Chen
From the article:
Last time, we created a result_holder that can be awaited until it is assigned a result, and I noted that the code was broken.
One of the reasons that it’s broken is that it doesn’t handle references properly...
By Blog Staff | Mar 25, 2021 09:52 AM | Tags: None
Solution just posted:
GotW #101 Solution: Preconditions, Part 2
by Herb Sutter
From the article:
We covered some basics of preconditions in GotW #100. This time, let’s see how we can use preconditions in some practical examples…
By Adrien Hamelin | Mar 24, 2021 12:29 PM | Tags: c++20
The series continue.
Creating a task completion source for a C++ coroutine: Producing a result
by Raymond Chen
From the article:
We’ve been looking at creating different types of awaitable synchronization objects. This time, we’ll create something analogous to what C# calls a TaskCompletionSource and what PPL calls a task_completion_event. For lack of a better name, I’m going to call it a result_holder...
By Adrien Hamelin | Mar 24, 2021 12:25 PM | Tags: community
Simple and efficient.
Ticket Maps
by Anthony Williams
From the article:
It has been an increasingly common scenario that I've encountered where you have some ID that's monotonically increasing, such as a subscription or connection index, or user ID, and you need your C++ program to hold some data that's associated with that ID value. The program can then pass round the ID, and use that ID to access the associated data at a later point...
By Adrien Hamelin | Mar 24, 2021 12:24 PM | Tags: c++20
The series continue.
Creating other types of synchronization objects that can be used with co_await, part 10
by Raymond Chen
From the article:
We’ve been looking at creating different types of awaitable synchronization objects. This time, we’re going to create something that doesn’t exist in the normal Win32 repertoire: An event where you can wait for the event to be in a desired state, either set or reset. Normal Win32 events allow you to wait for them to be set, but you cannot wait for Win32 event to be reset. The usual workaround is to have two events...
By Adrien Hamelin | Mar 23, 2021 01:22 PM | Tags: c++20
More coroutines.
An Infinite Data Stream with Coroutines in C++20
by Rainer Grimm
From the article:
In this post, I analyze the new keyword co_yield. Thanks to co_yield, you can create an infinite data stream in C++20...
By Adrien Hamelin | Mar 23, 2021 01:15 PM | Tags: c++20
Constexpr all the things.
constexpr Dynamic Memory Allocation, C++20
by Bartlomiej Filipek
From the article:
constexpr has become a major feature for compile-time programming in C++. Introduced in a simple form in C++11 evolved into almost another “sub-language”, an alternative to regular template code. In C++20 you can even use std::vector and std::string in constexpr context!
In this article, I’d like to discuss constexpr memory allocations, a building block for std::vector. Let’s see how this feature works and see its limitations...