News

Policy--Rainer Grimm

The series continue.

Policy

by Rainer Grimm

From the article:

Thanks to templates, there are new ways of software design. Policies and traits are two commonly used idioms in C++.

The first two keynotes for Meeting C++ 2022

Meeting C++ 2022 will be a hybrid event from Berlin in November this year. Nicolai Josuttis will give the opening keynote and the closing keynote will be by Klaus Iglberger!

Announcing the first two keynotes for Meeting C++ 2022

by Jens Weller

From the article:

Happy to announce the opening and closing keynotes for Meeting C++ 2022!

This years Meeting C++ conference is the 10 year anniversary of Meeting C++ it self. There is of course is a long list of keynote speakers that have or might keynote Meeting C++ in the future. From that long list of possiblities I've chosen Nicolai Josuttis and Klaus Iglberger.

OVERLOAD JOURNAL 168 - APRIL 2022

The new Overload is out.

OVERLOAD JOURNAL 168 - APRIL 2022

In the journal:

On Becoming Unstuck
By Frances Buontempo
The horsemen of the apocalypse may be on the horizon. Frances Buontempo attempts to stop doom-scrolling and solve problems instead.

Taming Wordle with the Command Line
By James Handley
Could static analysis provide a generic way to approach Wordle? James Handley uses simple command line tools in order to (hopefully) name that Wordle in four!

C++20: A Coroutine Based Stream Parser
By Andreas Fertig
Stream parsing code can be very complicated. Andreas Fertig uses coroutines to make stream parsing code clearer.

Structured Concurrency in C++
By Lucian Radu Teodorescu
Raw threads tend to be unstructured. Lucian Radu Teodorescu applies principles from Structured Programming to concurrency.

The Vector Refactored
By Teedy Deigh
Finding the right level of abstraction can be challenging. Teedy Deigh razes the level of abstraction.

Type Erasure--Rainer Grimm

The series continue.

Type Erasure

by Rainer Grimm

From the article:

Type erasure based on templates is a pretty sophisticated technique. It allows you to bridge dynamic polymorphism (object orientation) with static polymorphism (templates).

Define Concepts--Rainer Grimm

The series continue.

Define Concepts

by Rainer Grimm

From the article:

There are two ways to define a concept: You can combine existing concepts and compile-time predicates, or you can apply a requires expression in four different ways...

2022-04 Mailing Available

The 2022-04 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0429R8 A Standard flat_map Zach Laine 2022-04-18 2022-04 P0429R7 LWG Library
P0957R7 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-04-19 2022-04 P0957R6 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P1061R2 Structured Bindings can introduce a Pack Barry Revzin 2022-04-22 2022-04 P1061R1 EWG Evolution
P1169R4 static operator() Barry Revzin 2022-04-10 2022-04 P1169R3 CWG Core
P1222R3 A Standard flat_set Zach Laine 2022-04-18 2022-04 P1222R2 LWG Library
P1223R4 find_last Zach Laine 2022-04-15 2022-04 P1223R3 LEWG Library Evolution,LWG Library
P1467R9 Extended floating-point types and standard names David Olsen 2022-04-22 2022-04 P1467R8 CWG Core,LWG Library
P1642R8 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-04-13 2022-04 P1642R7 LWG Library
P1673R7 A free function linear algebra interface based on the BLAS Mark Hoemmen 2022-04-14 2022-04 P1673R6 LEWG Library Evolution
P1674R1 Evolving a Standard C++ Linear Algebra Library from the BLAS Mark Hoemmen 2022-04-14 2022-04 P1674R0 LEWG Library Evolution
P1684R2 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-04-24 2022-04 P1684R1 LEWG Library Evolution
P1967R5 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-04-13 2022-04 P1967R4 EWG Evolution
P2071R2 Named universal character escapes Tom Honermann 2022-03-27 2022-04 P2071R1 CWG Core
P2093R14 Formatted output Victor Zverovich 2022-03-25 2022-04 P2093R13 LWG Library
P2174R1 Compound Literals Zhihao Yuan 2022-04-15 2022-04 P2174R0 EWG Evolution
P2198R5 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2022-04-13 2022-04 P2198R4 LWG Library
P2266R3 Simpler implicit move Arthur O'Dwyer 2022-03-26 2022-04 P2266R2 CWG Core
P2278R3 cbegin should always return a constant iterator Barry Revzin 2022-04-11 2022-04 P2278R2 LEWG Library Evolution
P2280R4 Using unknown references in constant expressions Barry Revzin 2022-04-10 2022-04 P2280R3 CWG Core
P2286R7 Formatting Ranges Barry Revzin 2022-04-22 2022-04 P2286R6 LEWG Library Evolution
P2300R5 `std::execution` Michał Dominiak 2022-04-22 2022-04 P2300R4 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R4 std::ranges::contains Christopher Di Bella 2022-04-16 2022-04 P2302R3 All of WG21
P2305R5 Type inference for object definitions Jens Gustedt 2022-04-08 2022-04 P2305R4 SG22 Compatability
P2322R6 ranges::fold Barry Revzin 2022-04-22 2022-04 P2322R5 LEWG Library Evolution
P2400R3 Library Evolution Report: 2021-09-28 to 2022-01-25 Bryce Adelstein Lelbach 2022-04-21 2022-04 P2400R2 All of WG21
P2408R5 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2022-04-22 2022-04 P2408R4 LWG Library
P2472R2 make function_ref more functional Jarrad J. Waterloo 2022-04-14 2022-04 P2472R1 LEWG Library Evolution
P2505R2 Monadic Functions for std::expected Jeff Garland 2022-04-15 2022-04 P2505R1 LEWG Library Evolution,LWG Library
P2510R2 Formatting pointers Mark de Wever 2022-04-14 2022-04 P2510R1 LWG Library
P2538R1 ADL-proof std::projected Arthur O'Dwyer 2022-04-01 2022-04 P2538R0 LEWG Library Evolution,LWG Library
P2539R1 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-04-11 2022-04 P2539R0 LEWG Library Evolution
P2542R1 views::concat Hui Xie 2022-03-28 2022-04 P2542R0 SG9 Ranges,LEWG Library Evolution
P2546R1 Debugging Support René Ferdinand Rivera Morell 2022-04-10 2022-04 P2546R0 LEWG Library Evolution
P2559R0 Plan for Concurrency Technical Specification Version 2 Bryce Adelstein Lelbach 2022-04-01 2022-04   SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P2573R0 = delete("should have a reason"); Yihe Li 2022-04-14 2022-04   EWGI SG17: EWG Incubator,EWG Evolution
P2574R0 2022-05 Library Evolution Polls Bryce Adelstein Lelbach 2022-04-22 2022-04   LEWG Library Evolution
P2576R0 The constexpr specifier for object definitions Jens Gustedt 2022-04-08 2022-04   SG22 Compatability
P2577R0 C++ Modules Discovery in Prebuilt Library Releases Daniel Ruoso 2022-04-11 2022-04   SG15 Tooling

Pure Virtual C++ 2022 Schedule Available--Sy Brand

Will you attend?

Pure Virtual C++ 2022 Schedule Available

by Sy Brand

From the article:

Pure Virtual C++ 2022 is a free, one-day virtual conference for the whole C++ community. The schedule is now available. You can find the full set of abstracts, alongside calendar files to download on the website...

All times UTC on the 26th April.

14:04 – What’s New In C++23, Sy Brand
14:37 – Cute C++ Tricks, Part 2 of N: More code you should learn from and never write, Daisy Hollman
15:12 – Embedded development with VS and VS Code, Marc Goodner
15:47 – Everything I learned about static analysis and program safety in C++, Sunny Chatterjee
16:22 – Persistent Representation of C++ for Fun and Profit, Gabriel Dos Reis

Mixins--Rainer Grimm

The series continue.

Mixins

by Rainer Grimm

From the article:

In my previous  post "More about Dynamic and Static Polymorphism", I used the Curiously Recurring Template Pattern (CRTP) to implement static polymorphism. Another typical use case for CRTP are mixins...

Meeting C++ is looking for employers for the job fair in May

The second C++ online job fair will be on May 3rd/4th organized by Meeting C++.

Meeting C++ is looking for employers for the job fair in May

by Jens Weller

From the article:

A call for employer participation in the online C++ job fair in beginning of May.

If you have open positions to fill and/or are looking for C++ talent, don't miss the chance to hire through Meeting C++ events! Sponsors of the event will be listed in the CV Sharing form at Meeting C++ and receive CVs submitted by candidates directly through Meeting C++. This brings the advantage that you reach the many candidates that could not make it to the event. Further your logo and a paragraph or two about your company are listed on the website and advertised on social media. Free tables have 4 instead of 8 seats and will be listed below the sponsors. The free option is limited to the time of the event and companies can only participate twice with the free option. The last event had 71 candidates apply to the various sponsors of the event.