Modules Present and Future--CppCast

It will change things.

Modules Present and Future

by CppCast

From the article:

Rob and Jason are joined by Gabriel Dos Reis from Microsoft. They first discuss the recent articles about Microsoft switching from C++ to Rust and let Gaby set the record straight. Then Gaby talks about the final state of Modules, how Microsoft is using them internally, and Gaby’s plans for the future of Modules and much more.

2020-06 mailing available

The 2020-06 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P1401R3 Narrowing contextual conversions to bool Andrzej Krzemieński 2020-05-27 2020-06 P1401R2 EWG Evolution
P1450R3 Enriching type modification traits Vincent Reverdy 2020-06-15 2020-06 P1450R2 LWG Library
P1467R4 Extended floating-point types and standard names David Olsen 2020-06-14 2020-06 P1467R3 EWG Evolution,LEWG Library Evolution
P1468R4 Fixed-layout floating-point type aliases David Olsen 2020-06-14 2020-06 P1468R3 LEWG Library Evolution
P1642R3 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2020-05-24 2020-06 P1642R2 LEWG Library Evolution
P1944R1 Add Constexpr Modifiers to Functions in cstring and cwchar Headers Daniil Goncharov 2020-05-26 2020-06 P1944R0 SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P1949R4 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey 2020-06-05 2020-06 P1949R3 SG16 Unicode,EWG Evolution,CWG Core
P1990R1 Add operator[] to std::initializer_list Daniil Goncharov 2020-05-26 2020-06 P1990R0 LEWG Library Evolution,LWG Library
P2025R1 Guaranteed copy elision for return variables Anton Zhilin 2020-06-17 2020-06 P2025R0 EWG Evolution,CWG Core
P2034R2 Partially Mutable Lambda Captures Ryan McDougall 2020-06-12 2020-06 P2034R1 EWGI SG17: EWG Incubator
P2037R1 String's gratuitous assignment Andrzej Krzemieński 2020-06-15 2020-06 P2037R0 LEWG Library Evolution
P2093R0 Formatted output Victor Zverovich 2020-06-13 2020-06   SG16 Unicode,LEWG Library Evolution
P2138R2 Rules of Design<=>Wording engagement Ville Voutilainen 2020-06-15 2020-06 P2138R1 EWG Evolution,LEWG Library Evolution
P2139R1 Reviewing Deprecated Facilities of C++20 for C++23 Alisdair Meredith 2020-06-15 2020-06 P2139R0 EWG Evolution,LEWG Library Evolution
P2141R0 Aggregates are named tuples Antony Polukhin 2020-05-27 2020-06   EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution,LWG Library
P2146R1 Modern std::byte stream IO for C++ Amanda Kornoushenko 2020-06-17 2020-06 P2146R0 LEWGI SG18: LEWG Incubator
P2152R0 Querying the alignment of an object Inbal Levi 2020-06-15 2020-06   EWGI SG17: EWG Incubator,EWG Evolution,CWG Core
P2161R1 Remove Default Candidate Executor Robert Leahy 2020-06-12 2020-06 P2161R0 SG4 Networking
P2164R1 views::enumerate Corentin Jabot 2020-06-14 2020-06 P2164R0 LEWG Library Evolution
P2166R0 A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr Yuriy Chernyshov 2020-05-19 2020-06   LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2176R0 A different take on inexpressible conditions Andrzej Krzemieński 2020-05-27 2020-06   SG21 Contracts
P2178R0 Misc lexing and string handling improvements Corentin Jabot 2020-06-15 2020-06   SG16 Unicode,EWG Evolution
P2179R0 SG16: Unicode meeting summaries 2020-01-08 through 2020-05-27 Tom Honermann 2020-06-02 2020-06   SG16 Unicode
P2181R0 Correcting the Design of Bulk Execution Jared Hoberock 2020-06-14 2020-06   SG1 Concurrency and Parallelism
P2182R0 Contract Support: Defining the Minimum Viable Feature Set Andrzej Krzemieński 2020-06-15 2020-06   SG21 Contracts
P2184R0 Thriving in a crowded and changing world: C++ 2006-2020 Bjarne Stroustrup 2020-06-12 2020-06   All of WG21
P2185R0 Contracts Use Case Categorization Caleb Sunstrum 2020-06-14 2020-06   SG21 Contracts
P2187R0 std::swap_if, std::predictable Nathan Myers 2020-06-18 2020-06   LEWGI SG18: LEWG Incubator,Direction Group
P2188R0 Zap the Zap: Pointers should just be bags of bits Anthony Williams 2020-06-15 2020-06   EWG Evolution

C++20: The Unspoken Features -- Michele Caini

Modules, coroutines, concepts, and ranges, oh my. Here comes C++ 20. The big four new features are getting all the buzz, but what about the smaller features? 

C++20: The Unspoken Features

by Michele Caini

From the article:

What's new in C++ besides the big four? A lot of things. We certainly won't be able to see them all in one post. Among the most interesting (at least from my point of view) are the following:

  • Designated initializers
  • Spaceship operator
  • Extended range-based for statement
  • Pack expansions in lambda init-capture
  • Template parameter lists on lambdas
  • String literals as template parameters
  • consteval and constinit keywords
  • Constexpr containers
  • Constexpr virtual functions

Creating traditional Visual Studio sln from CMake

CMakeToVisualStudio parses CMake files to create a Visual Studio solution.

CMakeToVisualStudio

by Zeb Mason

About the release

CMakeToVisualStudio parses CMakeLists.txt and CMakeCache.txt files and creates a traditional Visual Studio solution from templated XML:

  • Might not build properly
  • Might be sufficient to work with historical tooling for Visual Studio
  • LGPL v2.1 set of libraries for reading CMake and Visual Studio projects and writing Visual C++ solutions

Thriving in a crowded and changing world: C++ 2006–2020

On which Bjarne Stroustrup describes how C++ has managed to thrive despite many things

Thriving in a Crowded and Changing World: C++ 2006–2020

By Bjarne Stroustrup

From the article:

This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions.
The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features
and the programming techniques they support.