back_inserter creates an output iterator that appends assigned values to a container, allowing an algorithm to grow its output as needed. section 9.1.4
Marking triangle numbers
Start with an empty std::vector<char>. std::ranges::transform applies a lambda to each triangle number and writes each '.' or '*' through std::back_inserter(odd_or_even), avoiding manual output sizing. section 9.1.4
