September 2020

Refactoring from single to multi purpose

Working on an old project, it came to my mind that I do this refactoring from one static path to multiple options for the 2nd time this year...

Refactoring from single to multi purpose

by Jens Weller

From the article:

For the second time this year I'm refactoring a program from a single purpose to have two or more modes of operation. Both times the start and end result is similar, just the processing is different. A classic case of using polymorphism.

The first program was a tool to process videos from speakers, find a face and export the subframe around it into a new video. The first mode was a good approach to test it, and gave results for some speakers. The second mode did a complete scan first, and then gave a smoother video for some videos. Still, both modes had to be retained...

Replacing unique_ptr with C++17's std::variant a Practical Experiment--Bartlomiej Filipek

variant shows his capabilities.

Replacing unique_ptr with C++17's std::variant a Practical Experiment

by Bartlomiej Filipek

From the article:

Some time ago I wrote about a new way to implement runtime polymorphism which is based not on virtual functions but on std::visit and std::variant. Please have a look at this new blog post where I experiment with this approach on my home project. The experiment is more practical than artificial examples.

See advantages, disadvantages and practical code issues.

JetBrains C++ Team At CppCon 2020--Anastasia Kazakova

Are you  attending?

JetBrains C++ Team At CppCon 2020

by Anastasia Kazakova

From the article:

The CppCon conference will be taking place fully online this year. And of course the JetBrains C++ team wouldn’t dream of missing the biggest C++ community event of the year!

We’ll join CppCon 2020 with a one-day virtual room hosted by CppCon over Remo on Thursday, September 17. And the great thing is that our CppCon virtual room is open to everyone!

Two new ticket types for Meeting C++

Some news from Meeting C++: there is now one ticket for virtual events of Meeting C++ and for Meeting C++ online a limited amount of sponsored tickets is available

Two new ticket types for Meeting C++

by Jens Weller

From the article:

Today I can announce two important updates for Meeting C++ online and Meeting C++ 2020!

One online ticket for Meeting C++ 2020 and Meeting C++ online

While you can buy separate tickets for Meeting C++ online and 2020, now there is an online ticket for all virtual Meeting C++ events in 2020 available! You can get it in the ticketshop of Meeting C++ 2020 only, as this is the easiest process to offer it. The ticket enables you to attend these online conferences...

CppCon 2019: A State of Compile Time Regular Expressions--Hana Dusíková

This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.

To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!

A State of Compile Time Regular Expressions

by Hana Dusíková

Summary of the talk:

In this talk I will present an advancement on the Compile Time Regular Expression (CTRE) library. The library was designed with new C++20 features, and it uses novel techniques. This presentation independently sums up the work since my previous CppCon talk about the library.

The primary topic of this talk will be an explanation of the new Deterministic Finite Automaton (DFA) engine in the library and how it's built and optimised during compilation. I will explain the differences and limitations of the new engine in comparison to the previous Back Tracking engine. I will address these differences with a benchmark and I will discuss the generated assembly.

Even if you are not interested in regular expressions, you will learn new techniques in compile-time meta-programming and see new C++20 features in action.

Microsoft C++ Team at CppCon 2020--Will Buik

Will you attend?

Microsoft C++ Team at CppCon 2020

by Will Buik

From the article:

The Microsoft C++ team has an exciting lineup of sessions at CppCon 2020. Many of us will also be present at our team’s booth in the virtual exhibition hall throughout the conference. Come say hi and let us know if you have any questions about our talks, products, or anything else! We’ll be making a few exciting announcements about Visual Studio and Visual Studio Code...

A few details and thoughts on online events like Meeting C++ online

Some details and backgrounds on how the online events like CppCon and Meeting C++ 2020/online work

A few details and thoughts on online events like Meeting C++ online

by Jens Weller

From the article:

A few weeks ago I announced Meeting C++ online, and now the first two online events have happend. Now I'd like to share a bit more details with you.

CppCon 2019: This Videogame Programmer Used the STL and You Will Never Guess What...--Mathieu Ropert

This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.

To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!

This Videogame Programmer Used the STL and You Will Never Guess What Happened Next

by Mathieu Ropert

Summary of the talk:

The STL is sometimes seen as a strange and dangerous beast, especially in the game development industry.
There is talk about performance concerns, strange behaviours, interminable compilations and weird decisions by a mysterious "committee".
Is there any truth to it? Is it all a misconception?

I have been using the STL in a production videogame that is mostly CPU bound and in this talk we will unveil the truth behind the rumours.
We will start by a discussion about the most common criticism against the STL and its idioms made by the gamedev community.
Then we will see a few practical examples through STL containers, explaining where they can do the job, where they might be lacking and what alternatives can be used.
Finally we will conclude with some ideas on how we can improve both the STL for game developers and also how to foster better discussion on the topic in the future.

At the end of this talk, attendees should have a solid understanding of why the STL is sometimes frowned upon, when it makes sense to look for alternatives to the standard and most importantly when it does not.