September 2021

Meeting C++ 2021: looking for sponsors

Meeting C++ has opened this years call for sponsors

Meeting C++ 2021: looking for sponsors

by Jens Weller

From the article:

With the online platform being selected, its finally time to open the call for sponsors for Meeting C++ 2021!

Sponsoring is an easy way to support the work of Meeting C++, as my work is mostly funded through the ticketsales and sponsorships of the yearly Meeting C++ conference. So maybe your employer is interested in sponsoring Meeting C++ 2021?

CppCon 2020 Building an Intuition for Composition--Sy Brand

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from our most recent in-person conference in 2019 and our online conference in 2020. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2021 to attend in person, online, or both!

Building an Intuition for Composition

by Sy Brand

Summary of the talk:

If you're fed up of reading articles about "monads" and "endofunctors" that don't give you an understanding of how they can actually help your C++ programming, this talk is for you.

Function and data composition are becoming increasingly important in C++ due to features like ranges, continuable futures, and new error handling techniques. Using real-world examples and C++ programming idioms, I'll help you build an intuition for the mathematical concepts which underpin these so that you can make the most of them in your code and build your own abstractions built on the same foundations.

Why do you need the MISRA Compliance report and how to generate one in PVS-Studio?

If you are strongly interested in MISRA and would like to understand whether your project meets one of the MISRA association's standards, there is a solution. It's name is MISRA Compliance.

Why do you need the MISRA Compliance report and how to generate one in PVS-Studio?

by Nikolay Mironov

From the article:

To make this simpler, let's take rule 1.1 that has the standard value of the category equal to Required. If you look at the table, you can see that acceptable compliance values for Required are Compliance or Deviations (I'll talk more about the meaning of these statuses later). This means that if your project complies with rule 1.1, or if it complies with this rule with some deviations - everything is fine and you can go to the next rule. If you get at least one hit in Violations or Disapplied, then the project does not comply with MISRA C 2012. If all rules have acceptable values only, congratulations! Your project complies with the MISRA C 2012 standard. If you have a hit in the red zone (the table above), you do not comply with the standard.

2021-08 Mailing Available

The 2021-08 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4895 Concurrency TS2 Michael Wong 2021-08-22 2021-08   All of WG21
P1018R12 C++ Language Evolution status  pandemic edition  2021/06–2021/08 JF Bastien 2021-08-02 2021-08 P1018R11 EWG Evolution,All of WG21
P1072R9 basic_string::resize_and_overwrite Chris Kennelly 2021-08-14 2021-08 P1072R8 LWG Library
P1169R2 static operator() Barry Revzin 2021-08-14 2021-08 P1169R1 EWG Evolution
P1206R5 Conversions from ranges to containers Corentin Jabot 2021-08-01 2021-08 P1206R4 LEWG Library Evolution
P1206R6 Conversions from ranges to containers Corentin Jabot 2021-08-03 2021-08 P1206R5 LEWG Library Evolution
P1664R5 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2021-08-16 2021-08 P1664R4 SG9 Ranges,LEWG Library Evolution
P1673R4 A free function linear algebra interface based on the BLAS Mark Hoemmen 2021-08-14 2021-08 P1673R3 LEWG Library Evolution
P1885R6 Naming Text Encodings to Demystify Them Corentin Jabot 2021-08-14 2021-08 P1885R5 LEWG Library Evolution
P2047R2 An allocator-aware optional type Nina Ranns 2021-08-13 2021-08 P2047R1 LEWG Library Evolution
P2093R8 Formatted output Victor Zverovich 2021-08-15 2021-08 P2093R7 SG16 Unicode,LEWG Library Evolution
P2280R3 Using unknown references in constant expressions Barry Revzin 2021-08-18 2021-08 P2280R2 EWG Evolution
P2286R2 Formatting Ranges Barry Revzin 2021-08-15 2021-08 P2286R1 LEWG Library Evolution
P2291R2 Add Constexpr Modifiers to Functions to_chars and from_chars for Integral Types in Header Daniil Goncharov 2021-08-17 2021-08 P2291R1 LEWG Library Evolution,LWG Library
P2361R2 Unevaluated strings Corentin Jabot 2021-08-13 2021-08 P2361R1 SG16 Unicode,SG22 Compatability,EWG Evolution
P2362R2 Remove non-encodable wide character literals and multicharacter wide character literals Peter Brett 2021-07-29 2021-08 P2362R1 EWG Evolution
P2370R1 Stacktrace from exception Andrei Nekrashevich 2021-08-15 2021-08 P2370R0 LEWG Library Evolution,LWG Library
P2372R2 Fixing locale handling in chrono formatters Victor Zverovich 2021-08-14 2021-08 P2372R1 LWG Library
P2387R1 Pipe support for user-defined range adaptors Barry Revzin 2021-08-14 2021-08 P2387R0 LEWG Library Evolution
P2388R1 Minimum Contract Support: either Ignore or Check_and_abort Andrzej Krzemieński 2021-08-15 2021-08   SG21 Contracts
P2393R1 Cleaning up integer-class types Tim Song 2021-08-06 2021-08 P2393R0 LWG Library
P2414R1 Pointer lifetime-end zap proposed solutions Paul E. McKenney 2021-08-13 2021-08 P2414R0 EWG Evolution
P2415R1 What is a view? Barry Revzin 2021-08-15 2021-08 P2415R0 LEWG Library Evolution
P2418R0 Add support for std::generator-like types to std::format Victor Zverovich 2021-08-08 2021-08   LEWG Library Evolution
P2419R0 Clarify handling of encodings in localized formatting of chrono types Victor Zverovich 2021-08-12 2021-08   SG16 Unicode,LEWG Library Evolution
P2420R0 2021 Summer Library Evolution Polls Bryce Adelstein Lelbach 2021-08-03 2021-08   LEWG Library Evolution
P2423R0 C Floating Point Study Group Liaison Report Rajan Bhakta 2021-08-04 2021-08   SG6 Numerics,SG22 Compatability
P2425R0 Expression Function Body Mihail Naydenov 2021-08-22 2021-08   EWGI SG17: EWG Incubator
P2428R0 Slides: BSI issues with P2300 Gašper Ažman 2021-08-16 2021-08   LEWG Library Evolution

CppCon 2019 Back to Basics: Virtual Dispatch and its Alternatives--Inbal Levi

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from our most recent in-person conference in 2019 and our online conference in 2020. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2021 to attend in person, online, or both!

Back to Basics: Virtual Dispatch and its Alternatives

by Inbal Levi

Summary of the talk:

Code efficiency is one of the strongest features of modern C++, therefore broadly used in industries with a need for high performance, such as Real-Time or Embedded Systems.

In this talk, we will go through the search for high run-time efficiency using the dispatch mechanism.

We will start by providing tools for understanding and estimating run-time performance cost.

Next, we'll analyze a test case, and dive into some of the most fundamental components of the language such as inheritance, and templates.

We will continue by introducing implementations which produce high run-time efficiency code such as CRTP, std::variant and visitor, and use them to maximize performance.

Finally, we will do benchmarking and draw conclusions, and try to answer the question -
How can we use C++ ideally for achieving high-performance efficiency?

Upcoming C++ User Group meetings in September

A listing of the upcoming C++ User Group Meetings in September

C++ User Group Meetings in September 2021

by Jens Weller

From the article:

The monthly overview about upcoming C++ User Group Meetings in September. As the pandemic ends or continues, depending in which part of the world you live, I list again all meetings online and real world.

Meeting C++ online hosts two events in September:

    16.9 C++ UG Meeting C++ online - September - Windows, macOS and the Web: Lessons from cross-platform
    28.9 C++ UG Meeting C++ online - Online C++ job fair (afternoon CEST)
    29.9 C++ UG Meeting C++ online - Online C++ job fair (evening CEST)

Meeting C++ is still looking for employers to participate in the online job fair, register your spot with in the next days to be best visible for this event.