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)

The concept of smart pointer static_ptr in C++

In this article we are discussing a new smart pointer type – static_ptr. It is most similar to std::unique_ptr without dynamic allocations.

The concept of smart pointer static_ptr<T> in C++

by Evgeny Shulgin

From the article:

We can create the move_assigner structure in a similar way. We could also make copy_constructer and copy_assigner, but our implementation doesn't require them. In static_ptr, the copy constructor and copy assignment operator will be deleted (as in unique_ptr).

Lightning talks and 2 years of Meeting C++ online

Meeting C++ online celebrates its 2 years anniversary with lightning talks!

Lightning talks and 2 years of Meeting C++ online

by Jens Weller

From the article

Next week Meeting C++ online will host its first lightning talk session to celebrate its 2 year anniversary!

There are still some open spots, so if you want to submit your lightning talk, you still can! But yesterdays deadline already has given us enough talks to fill one hour easily. So join the event if you have time to attend next week wednesday!

Serialization with Boost.Serialization -- Richard Thomson

Utah C++ Programmers has released a new video:

Serialization with Boost.Serialization

by Richard Thomson

From the video description:

Many times you need a stable, versioned, archivable representation of your internal data structures. Serialization is one means of achieving this goal. Serialization is often used with REST APIs as a means of conveying data structures into and out of your application. XML and JSON formats are commonly used to encode your data structure. But serialization often is not just a data format.

How do you represent different versions of your data structures as they evolve over time? How do you ensure that old versions of your data structures interoperate with new versions of your data structures and vice-versa? While interoperability and backwards compatibility are an application responsibility, versioning itself is something you want from your serialization layer.

This month, Richard Thomson will give us an introduction to serialization via the Boost.Serialization library, one of the older and more mature boost libraries having first been contributed to Boost in 2002.

https://www.youtube.com/watch?v=YmEPMFMP7TE