C++ coroutines: Short-circuiting suspension, part 1--Raymond Chen

The series continue.

C++ coroutines: Short-circuiting suspension, part 1

by Raymond Chen

From the article:

At the start of this series, I gave the basic idea for how the compiler generates code for co_await, but I left out some details for expository simplicity. There are some mysterious steps called “We’re not ready to talk about this step yet.”

Now it’s time to talk about one of those steps...

The Modern C++ type CoDec Challenge -- Will Wray

A meta-programming challenge in compound type destructuring

The Modern C++ type CoDec Challenge

by Will Wray

From the article:

(Assumes intermediate to advanced level C++ with some meta skills.)

Find the most effective, modern way to:  

  1. Decompose a compound type then  
  2. Represent its structure and traverse it

...

What is it?

A challenge in the spirit of Herb's GotW running ∓20 days over NY 2020:

20 days of Modern C++ ranging from 'retro' TMP to latest C++2a features,
20 days of Post Modern C++ looking ahead to an era of static reflection.

  • A personal challenge to learn about types, introspection and meta coding
  • A community challenge towards effective methods of type decomposition

...

(Let the egg hunt begin())

 

CopperSpice: CsPaint - Rendering text on the GPU

New video on the CopperSpice YouTube Channel:

CsPaint - Rendering text on the GPU

by Barbara Geller and Ansel Sermersheim

About the video:

In this video, we take a deeper look at the CsPaint library and the tools it provides for rendering text as graphics on the GPU. We also discuss the technique we use for efficient, high quality infinitely scalable text rendering.

Please take a look and remember to subscribe!

Substitution Failure is Error and Not An Error -- Milad Kahsari Alhadi

All you need to know:

Substitution Failure is Error and Not An Error

by Milad Kahsari Alhadi

From article:

I decided to write an article about the Substitution Failure issue when you write generic programs with c++ for those people who are looking for a clear and step by step introduction about it (without making everything complicated). In this article you will learn what will happen when you call a template function. 

C++ coroutines: Constructible awaitable or function returning awaitable?--Raymond Chen

The series continue.

C++ coroutines: Constructible awaitable or function returning awaitable?

By Raymond Chen

From the article:

Last time, we learned how to create simple awaitable objects by creating a structure that implements the await_suspend method (and relies on suspend_always to do the coroutine paperwork for us). We can then construct the awaitable object and then co_await on it...

Constexpr FizzBuzz – An Exercise in Compile-Time Calculations--Arne Mertz

The things you can do at compile time!

Constexpr FizzBuzz – An Exercise in Compile-Time Calculations

by Arne Mertz

From the article:

Recently, I have given a workshop about language features introduced in C++14 and C++17. Since a major part of those features includes constexpr things, I gave my trainees the task to port “FizzBuzz” to compile time. Here is a possible approach to that kind of problem...

Overload 154 is now available

ACCU’s Overload journal of December 2019 is out. It contains the following C++ related articles.

Overload 154 is now available

From the journal:

Inside-Out.
Sometimes things appear to be inside out. Frances Buontempo considers when a shift of perspective can make things seem better.

Trip Reports: Meeting C++ 2019 and Embedded C++ 2019.
Deciding which conferences to attend is difficult, and we can’t go to them all. Svitlana Lubenska, Hans Vredeveld and Benedikt Mandelkow give us a flavour of what we may have missed.

Non-Recursive Compile Time Sort.
Compile time sorting usually uses recursion. Norman Wilson shows how C++14 features make this easier.

Quick Modular Calculations (Part 1).
Compilers are good at optimising modular calculations. Can we they do better? Cassio Neri shows they can.

Afterwood.
We are aware of the film Get Carter. Chris Oldwood asks if it should be called Acquire Carter instead.

Introducing the new ReSharper C++ 2019.3 -- Igor Akhmetov

Welcome ReSharper C++ 2019.3

ReSharper C++ 2019.3: C++20 Concepts, Type Hints, Sorting of #includes, and more

by Igor Akhmetov

From the article:

Please welcome ReSharper C++ 2019.3, our third and final update of this year! Main highlights:

  • More sophisticated C++20 support, including Concepts.
  • Clang-Tidy updates and more flexible integration.
  • A new quick-fix will assist you with adding variables to the lambda capture list.
  • New type hints for auto variables, in structured bindings, for function and lambda return types.
  • Navigation improvements.
  • Sorting of #include directives.
  • More templates to generate UE4-specific code, as well as support for UE4’s Smart Pointers.
  • Additional project properties.
  • Performance enhancements.