#include <range/v3/all.hpp>
#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>
int main()
{
auto op = [](auto & input, int i, auto & ins)
{
return input | ranges::views::intersperse(ins)
| ranges::to<std::string>();
};
std::string input{"foobarbaxbat"};
char insert{','};
auto rng = op(input, 1, insert);
std::cout << rng << '\n'; // Outputs: f,o,o,b,a,r,b,a,x,b,a,t
}