Design and evolution of constexpr in C++

constexpr is one of the magic keywords in modern C++. You can use it to create code, that is then executed before the compilation process ends. This is the absolute upper limit for software performance.

Design and evolution of constexpr in C++

by Evgeny Shulgin

From the article:

The authors suffered greatly from the inability to use STL containers and wrote the std::vector and std::map analogues. Inside, these analogues have std::array that can work in constexpr. Proposal [P0784] Standard containers and constexpr studies the possibility of inputting STL containers in constexpr evaluations. Note. It's important to know what an allocator is. STL containers work with memory through it. What kind of an allocator — is specified through the tempte argument. If you want to get into the topic, read this article.

Outcome enters sustaining phase, goes ABI stable--Niall Douglas

Will you use it?

Outcome enters sustaining phase, goes ABI stable

by Niall Douglas

From the article:

After three years of maturing, I am pleased to announce that the Spring release of Outcome, an alternative error handling framework, will enter its sustaining phase and thus it will be able to formally guarantee ABI stability going forth. ABI stability is tested per commit by CI and the specifics of the guarantees is documented here...

2021 C++ Standardization Highlights--Botond Ballo

Did you follow?

2021 C++ Standardization Highlights

by Botond Ballo

From the article:

The ISO C++ Standards Committee (also known as WG21) has not met in person since its February 2020 meeting in Prague, which I wrote about here.

However, the committee and its subgroups have continued their work through remote collaboration, and a number of notable proposals have been adopted into C++23, the next language version, in this way, with many others in the pipeline.

In this post, I will outline some of the highlights of the committee’s work in 2021. (The post will also cover some material from the latter part of 2020, a period when remote collaboration was already underway but which I have not covered in any previous post.) I’ve been less involved in the committee than before, so this post will not be as comprehensive as my previous trip reports, but I hope to share the proposals I’ve found most notable...

What's new in PVS-Studio in 2021?

2021 is coming to an end, which means it's time to sum up the year! Today we'll tell you about the new features we added to PVS-Studio in the past year. Buckle up and let's go!

What's new in PVS-Studio in 2021?

by Maxim Stefanov, Oleg Lisiy, Sergey Vasiliev

From the article:

PVS-Studio has plugins for various JetBrains IDEs: Rider, IntelliJ IDEA. Somehow we missed another popular IDE — CLion. Our clients expressed an increasing interest in this feature. Moreover, the PVS-Studio plugin for CLion as a cross-platform IDE would make it possible to work comfortably with the C++ analyzer regardless of the environment in which the developer works: on Windows, Linux or macOS.

C++ on Sea 2022 -- Phil Nash

Announcing dates and keynote speakers for C++ on Sea 2022!

C++ on Sea 2022

by Phil Nash

From the article:

Yes, C++ on Sea is back by the sea! Or at least that is the current plan. We have booked the Leas Cliff Hall, once again, for July 4th-7th 2022. We're now busy, behind the scenes, working out all the details. We'll have updates first thing in the new year when we'll also open the call for speakers.

Little C++ Standard Library Utility: std::align -- Lesley Lai

An introduction of std::align with the arena allocator as motivational example

Little C++ Standard Library Utility: std::align

by Lesley Lai

From the article:

Recently, I learned about std::align, which is one of the lesser-known functions in the C++ standard library because of its limited use cases. Since it is hard to describe without a specific use case, I will use a simple implementation of an arena allocator as a motivational example.

PVS-Studio: Top 10 bugs found in C++ projects in 2021

It's freezing outside, everyone has already decorated the Christmas tree and bought tangerines. New Year is coming! So, it's time to meet the Top 10 interesting bugs found by the PVS-Studio C++ analyzer in 2021.

Top 10 bugs found in C++ projects in 2021

by Vladislav Stolyarov

From the article:

Let's talk about... HTML! PVS-Studio provides diagnostics that don't just check code – they also look for abnormalities in string literals. The code above triggered one of these diagnostics. Such cases are quite rare. That's why, this one is so intriguing. Someone intended to create one list but added two tags that open this list instead of one. This is clearly a typo. The first tag must open the list, and the second one must close it.

C++20 Concepts: Part 5 (Advanced use cases)--Gajendra Gulgulia

The series continue.

C++20 Concepts: Part 5 (Advanced use cases)

by Gajendra Gulgulia

From the article:

In this article, I’ll explain and demonstrate how to define concepts that constrain multiple template parameters and more importantly how to use them in a generic function. As promised in the part 3 of the series, I’ll explain this using a function comparing for equality of two different types T and U