Meeting 106 (14 May 2020)
2020-04 WG21 mailing is out
- Mailing
- P1654R1 ABI breakage - summary of initial comments
- P1949R3 C++ Identifier Syntax using Unicode Standard Annex 31
- P2011R1 A pipeline-rewrite operator
- This paper proposes a new non-overloadable operator
|>
such that the expressionx |> f(y)
evaluates exactly asf(x, y)
. There would be no intermediate subexpressionf(y)
.
- This paper proposes a new non-overloadable operator
How to Pass Class Member Functions to STL Algorithms
mem_fn
is less typing, but lambdas are higher performance (MSVC’s optimizer can’t see throughmem_fn
’s data member) and can handle overloaded/templated member functions much more easily.
Parameter passing, by Raymond Chen, Microsoft
- If you plan on keeping the parameter anyway, then there’s no need to have separate
T const&
andT&&
overloads - If you’re not keeping the parameter, then you still want to have separate
T const&
andT&&
overloads
Modern std::byte
stream I/O for C++
High performance SQLite, PostgreSQL, MySQL sync & async drivers
MSVC Backend Updates in Visual Studio 2019 Version 16.5
Announcing full support for a C/C++ conformant preprocessor in MSVC
GSL 3.0.0 Release
The Guidelines Support Library (GSL) contains functions and types that are suggested for use by the C++ Core Guidelines maintained by the Standard C++ Foundation.
Changes:
- New implementations of
gsl::span
andgsl::span_iterator
that align to the C++20 standard. - Changes to contract violation behavior.
- Additional CMake support.
- Deprecation of
gsl::multi_span
andgsl::strided_span
.
DeepCode adds AI-based static code analysis support for C and C++
Modern CMake is like inheritance
If only the CMake website featured such a beginner-friendly description as found here, people would switch over to Modern CMake much faster.
CMake links
- C++ Weekly: Intro to CMake
- C++Now 2017: Effective CMake
- CLion: Quick CMake Tutorial
- Programming C++ with the “4 C’s”
- Florent Castelli: Introduction to CMake
- Siliceum CMake articles:
On C++ exceptions
2 Lines Of Code and 3 C++17 Features - The overload Pattern
1template<class... Ts> struct overload : Ts... { using Ts::operator()...; };
2template<class... Ts> overload(Ts...) -> overload<Ts...>;
C++ Compile Health Watchdog
Activity Indicators for Modern C++
Table Maker for Modern C++
- GitHub (header-only, C++17, MIT)
Makefiles from the ground up
Why you use/don’t use Boost
- Why you don’t use Boost
- Why you trust in Boost
- Proposal for an epoch-based organization of Boost libraries
Values
From Twitter: