Modify containers with std::transform
The std::transform()
function is remarkably powerful and flexible. One of the more commonly deployed algorithms in the library, it applies a function or lambda to each element in a container, storing the results in another container while leaving the original in place.
Given its power, it's deceptively simple to use.
How to do it…
In this recipe, we will explore a few applications for the std::transform()
function:
- We'll start with a simple function that prints the contents of a container:
void printc(auto& c, string_view s = "") { if(s.size()) cout << format("{}: ", s); for(auto e : c) cout << format("{} ", e); cout << '\n'; }
We'll use this to view the results of our transformations.
- In the
main()
function, let's declare a couple of vectors:int main() {...