Sign up for the KDAB Newsletter
Stay on top of the latest news, publications, events and more.
Go to Sign-up


Find what you need - explore our website and developer resources
4 January 2023
This episode is the last of this mini series about C++ templates.
So this is what we have been building up to in the previous three episodes, namely understanding a relatively complex piece of template code.
The code presented here is a version of transform that has a few changes compared to the standard version:
(1) It take a container as argument instead of two iterators and (2) it returns a container with the transformed values.
The key thing in here, however, is that it will either create the result container and return that, or it will reuse the input container.
The reuse is in case the result container and input container is the same type, and the input container is an r-value.
Links:
* Our scheduled trainings: https://training.kdab.com/
* Our onsite trainings: https://training.kdab.com/in-company-training/
0:00 The end goal - kdalgorithms::transform
1:28 transform without the optimization
3:24 Understanding the tests
5:50 Why an in person training - over just learning from you tube
7:33 Debugging with the mata-programming doesn't work
12:30 transform in C++17
15:37 std::forward
17:30 if constexr
19:28 transform in C++14 - using tag dispatching
23:33 Outro and special thank you's
The example code showcased in this video is available here: https://github.com/KDAB/kdabtv/tree/master/Qt-Widgets-and-more/template-mini-series/episode4