Welcome to SwedenCpp
Latest blogs, videos, podcasts and releases in one stream
Thursday, June 4, 2026
How long does it take for an Item to become visible?Qt Quick doesnβt drop frames - but it can render them later than expected. This article presents a practical C++ technique to measure when a QQuickItem actually becomes visible, identify late-rendered components, and quantify delays in dropped frames using the Qt scene graph lifecycle.πKDAB
Do concepts improve deducing this?πMeeting C++ blog
Choosing Values for Robust Tests@media only screen and (max-width: 600px) { .body { overflow-x: auto; } .post-content table, .post-content td { width: auto !important; white-space: nowrap; } } This article was adapted from a Google Tech on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office. By Radion Khait A test passes. Great! But does it really mean your code is working as expected? Not necessarily.Sometimes the values you choose in your tests can create a false sense of security, especially when dealing with default values. Consider this snippet of a simple map class and its corresponding unit test: Implementation Test void MyMap::insert(int key, int value) { // Oops! The map entry is default-initialized, // the second parameter is not used. internal_map_[key]; } TEST(MyMapTest, Insert) { MyMap my_map; my_map.insert(1, 0); // This passes! EXPECT_EQ(my_map.get(1), 0); } The test passes, but the insert method is broken! It never actually stores the value. The test only passes because the default value for an integer in the map (0) happens to match the value used in the test. When choosing test values, consider the following: Test with non-default values. Explicitly test with values different from the type's default (e.g., non-zero numbers, non-empty strings, enum values other than the one at index 0). This provides greater confidence that your code is actually using the provided input. TEST(MyMapTest, Insert) { MyMap my_map; my_map.insert(1, 5); // This test would fail and reveal the bug in // the implementation above: βExpected 5, got 0β. EXPECT_EQ(my_map.get(1), 5); } Test multiple inputs that cover different scenarios, where it is reasonable to do so. Consider empty/missing/null values, numerical boundaries, and special cases that trigger complex logic. Try to cover all distinct code/logic paths. Consider using fuzzing to more thoroughly cover the input domain. Use different values for each input. This guarantees the code under test doesn't accidentally reuse a single input or switch their order. Parameterized testing can also help test a large variety of inputs with minimal code duplication. TEST(MyMapTest, Insert) { // Use a different value for `key` and `value`. my_map.insert( /*key=*/ 1, / *value=*/ 2); EXPECT_EQ(my_map.at(1), 2); }πGoogle Testing Blog
Final Classes - classes part 8 of N [D Language - Dlang Episode 146]π₯Mike ShahIf this page is useful, please consider donating a coffee
Wednesday, June 3, 2026
How std::function helps with callbacksπ₯Code for yourself
Sci-fi geek to Alliance Board Memberπ₯C++ Alliance
Rotation revisited: A shocking discovery about gccβs unidirectional rotation algorithmWe've seen this before. The post Rotation revisited: A shocking discovery about gccβs unidirectional rotation algorithm appeared first on The Old New Thing .πThe Old New Thing
Why C++26 Contracts might not work for allC++26 contains contracts, a much-discussed feature. They are useful, but not the best choice for every use case.πEngineering the Craft
Luka MatijeviΔ β C++ for Combinatorial Optimization β 27.05.2026.π₯cppserbia
From DAW Users to Audio Developers - Teaching JUCE to Creative Minds - Milap Rane - ADCx India 2026π₯audiodevcon
BjΓΆrn Fahller: I talk too muchπ₯SwedenCppTuesday, June 2, 2026
ADC Japan 2026 Live Stream Day 2 - Audio Dev Talksπ₯audiodevcon
Sci-fi geek to Alliance Board Memberπ₯C++ Alliance
Rotation revisited: Another unidirectional algorithmMoving in a straight line, in a different way. The post Rotation revisited: Another unidirectional algorithm appeared first on The Old New Thing .πThe Old New Thing
Lightning Talk: Eight Consteval Queens and Compile-Time Printing - Sagnik Bhattacharya - CppCon 2025π₯CppCon
To err is human, to stderr divineπ₯Jacob Sorber
Trame-gwc to bridge data management and visualizationKitware announces the release of trame-gwc, a Python package that exposes Girder capabilities to trame-based applications.πKitware Inc
What the heck is std::meta::info?In my last post, we met the reflection operator. But we left the question about std::meta::info hanging. Now it's time to find an answer. To kick things off, I would like to recall the definition of std::meta::info from P2996R13,Section 4.3 . namespace stdπMurat Hepeyiler
Hello World in C++ [Learn C++ Shorts Lesson 1]π₯Mike Shah
More C++26 reflection at compile-timeIn today's post, I like touch-up on C++26's static reflection. In case you haven't seen, I wrote a first post C++26 reflection at compile-time a while ago. One of the great things about reflection is that we can already explore the new feature since with Clang there is β¦πAndreasFertig.comMonday, June 1, 2026
ADC Japan 2026 Live Stream Day 1 - Audio Dev Talksπ₯audiodevcon
BeCPP Symposium 2026 - Keith Stockdale - The journey to "/W4 /WX": How hard could it be?π₯BeCPP Users Group
Writing C++ Code is Challenging, Writing Performant C++ Code is Dauntingπ₯CppOnline
The placeholder name for the Windows 8 experience was βmodernβModern this and that. The post The placeholder name for the Windows 8 experience was βmodernβ appeared first on The Old New Thing .πThe Old New Thing
C++ Weekly - Ep 535 - Getting The Best AI Generated Codeπ₯Jason Turner
Lightning Talk: Navigating Code Reviews as a Code Author - Ben Deane - CppCon 2025π₯CppCon
Designing a Procedural Sequencer Powered by Music-Theory - Romy Dugue & Cecill Etheredge - ADC 2025π₯audiodevcon
JetByte News: Thirty Years of JetByteToday marks the start of the 30th year of JetByte Limited. Where did the time go? We started as a βbum on seatβ contracting company so that Len could work for Credit Suisse Financial Products as a C++ developer back in 1997. This worked well, with interesting work, interesting people and lots of new skills to learn. When UK tax rules were changed we adjusted our working practices as the market changed and this turned out to be the best thing that could ever have happened.πRambling Comments - Len Holgate's blog
San Diego C++ Meetup May edition #86Hello everyone! Another month, another San Diego C++ Meetup! We recently hosted our 86th session for May 2026. I got the announcement out a bit late this time around, so it ended up being a very small, intimate session. Still, we had a good time going over the material! As mentioned in our previous sessions, [β¦]πVorbrodt's C++ Blog
Abstract Classes - classes part 7 of N [D Language - Dlang Episode 145]π₯Mike ShahSunday, May 31, 2026
San Diego C++ Meetup May 2026 #86π₯SDCPPMU
StockholmCpp 0x3E: Intro, Info, and The Quizπ₯SwedenCpp
Contracts in C++26, p2π₯GlobalCpp
Introducing the NEW 3D Game Engine Seriesπ₯The Cherno
Human-Computer Interaction Practices in Musical Interface Design - ADCx India 2026π₯audiodevcon
I Performed AI-assisted Website Migration. The Engineering Still Mattered.Learn how AI-assisted website migration can accelerate a redesign while still requiring software engineering discipline, validation, and architectural judgment.πJohn FarrierSaturday, May 30, 2026
Friday, May 29, 2026
Monitor your Simulation in your Web Browser with trame and CatalystLive visualizing simulation data can be difficult and costly: the data needs to be saved to disk periodically to be analyzed in order to create meaningful images. What if you wanted to monitor your simulation across multiple devices without installing anything locally? What if you wanted to do all of that without spending hours saving simulation data on the disk? Letβs see how it can be done using Kitwareβs technologies.πKitware Inc
Programming Smarter with AIπ₯CppOnline
Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 3A variation where we try only once. The post Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 3 appeared first on The Old New Thing .πThe Old New Thing
Lightning Talk: But I was doing the right thing! - Andrei Zissu - CppCon 2025π₯CppCon
Integrate Your Plugin with New AI & Automation Features in Pro Tools using SoundFlowβs SFX Frameworkπ₯audiodevcon
invariant (contract programming) classes/structs (classes part 6 of N) [Dlang Episode 144]π₯Mike Shah
