Non-standard containers in C++

We are going to describe the arrangement of the most curious non-STL containers and their differences from the standard containers.

Non-standard containers in C++

by Evgeny Shulgin

From the article:

The boost::devector is a hybrid of the std::vector and the std::deque. This container allows fast insertion at both its beginning and its end, just like the deque. But this container still keeps the vector features, such as the contiguous storage area and the conditions for the invalidation of iterators/pointers.

Microsoft C++ team at CppCon 2022 -- Sy Brand

atcpp.pngNews from the conference, happening live in Aurora, CO, USA this week:

Microsoft C++ team at CppCon 2022

by Sy Brand

From the article:

The Microsoft C++ team has an exciting lineup of sessions at CppCon 2022. Many of us will also be present at our team’s booth in the main hall for the first two days of the conference. Come say hi and let us know if you have any questions about our talks, products, or anything else! You can also join the #visual_studio channel on the CppCon Discord to talk to us (note: to join, head to #directory channel first, and check the checkbox next to “Visual Studio” box).

We’re also running a survey on the C++ ecosystem. If you have a moment, please take our survey, it’s quick.

Here’s the lineup: ...

Integrating C++ header units into Office using MSVC (1/n) - Cameron DaCamara and Zachary Henkel

A new post about modules, and see the related talk today at CppCon:

Integrating C++ header units into Office using MSVC (1/n)

by Cameron DaCamara and Zachary Henkel

From the article:

C++20 has had a lot to offer and one feature in particular requires the most thought of all when integrating into our projects: C++ modules (or C++ header units in this particular case). In this blog we will show a real world case of integrating a new C++20 feature into a large codebase that we might all be familiar with. ... This blog is the first in a series detailing experiences in integrating header units into the Office codebase.

 

(Non) Static Data Members Initialization, from C++11 till C++20--Bartlomiej Filipek

How do you initialise your members?

(Non) Static Data Members Initialization, from C++11 till C++20

by Bartlomiej Filipek

From the article:

With Modern C++ and each revision of the Standard, we get more comfortable ways to initialize data members. There’s non-static data member initialization (from C++11) and inline variables (for static members since C++17).

In this blog post, you’ll learn how to use the syntax and how it has changed over the years. We’ll go from C++11, through C++14, and C++17 until C++20.

Updated in July 2022: added more examples, use cases, and C++20 features.

CppCon 2022 Online Keynote: Principia Mathematica by Lisa Lippincott Live, In Person

Will you attend?

CppCon 2022 Online Keynote: Principia Mathematica

by Lisa Lippincot

From the article:

Lisa Lippincott will be online for a talk that takes its title from Bertrand Russell’s and Alfred North Whitehead’s logicist tour de force, Principia Mathematica.

Lisa LippincottHere is the abstract for her talk:

The C++ integral arithmetic operations present a challenge in formal interface design. Their preconditions are nontrivial, their postconditions are exacting, and they are deeply interconnected by mathematical theorems. I will address this challenge, presenting interfaces, theorems, and proofs in a lightly extended C++.

This talk takes its title from Bertrand Russell’s and Alfred North Whitehead’s logicist tour de force, Principia Mathematica. It echoes that work in developing arithmetic from first principles, but starts from procedural first principles: stability of objects, substitutability of values, and repeatability of operations.

In sum, this talk is one part formal interface design, one part tour of C++ integral arithmetic, one part foundations of arithmetic, and one part writing mathematical proofs procedurally.

CppCon 2022 Keynote: Timur Doumler, "How C++23 changes the way we write code"

Another keynote for CppCon which starts in just 9 days... register today!

CppCon 2022 Keynote: How C++23 Changes the Way We Write Code by Timur Doumler Live, In Person

From the announcement:

We’re happy to announce: Timur Doumler will be in Aurora live, in person to deliver key insights on C++23 best practices.

Here is the abstract for Timur’s talk:

C++20 was a huge release: coroutines, concepts, ranges, and modules profoundly changed the way we write code and think about C++. In comparison, C++23 is a lot smaller in scope: its primary mission is to complete C++20, to fill holes, and to fix issues. Nevertheless, some great new features made the cut this time around, both in the standard library and in the core language. This is even more remarkable considering that the entire feature design phase of C++23 took place during the COVID-19 pandemic, challenging the ISO C++ committee to completely reinvent how we work together.

This is not a firehose talk about C++23 that tries to cram as many additions and improvements as possible into one hour. Instead, we deliberately focus on just a handful of new features that are going to noticeably change and improve the experience of the everyday C++ programmer. We will talk about how `std::expected` improves error handling, the huge impact that `std::mdspan` will have on scientific computing, how deducing `this` greatly simplifies longstanding C++ idioms such as CRTP, and how `std::print` will forever change how we write “Hello, World”.

Timur is the Developer Advocate for C++ tools at JetBrains and an active member of the ISO C++ standard committee. As a developer, he worked many years in the audio and music technology industry and co-founded the music tech startup Cradle. Timur is passionate about building inclusive communities, clean code, good tools, low latency, and the evolution of the C++ language.
Registration is now open. Tickets are now available for both online attendees and in-person attendees.

Upcoming C++ User Group meetings in September 2022

The monthly listing of upcoming C++ User Group meetings at Meeting C++:

Upcoming C++ User Group Meetings in September 2022

by Jens Weller

From the article:

The monthly listing of upcoming C++ User Group meetings! This time with a new group in Toulouse!

Meeting C++ online has a few meetings in September and hosts a lightning talk session tonight:

    31.8 C++ UG Meeting C++ online - C++ Lightning Talks
    1.9 C++ UG Meeting C++ online - C++ Community Planning session
    7.9 C++ UG Meeting C++ online - September - Corolib: distributed programming with C++ coroutines
    8.9 C++ UG Meeting C++ online - Meeting C++ online book & tool fair
    13.9 C++ UG Meeting C++ online - Hiring for C++ with Meeting C++
    20.9 C++ UG Meeting C++ online - Online C++ job fair (afternoon CEST)
    21.9 C++ UG Meeting C++ online - Online C++ job fair (evening CEST)