Como escrevo um pipeline de intervalo que usa contêineres temporários?

Eu tenho uma função de terceiros com esta assinatura:

std::vector<T> f(T t);

Eu também tenho um intervalo potencialmente infinito existente (do tipo range-v3) doT nomeadosrc. Eu quero criar um pipeline que mapeief a todos os elementos desse intervalo e nivela todos os vetores em um único intervalo com todos os seus elementos.

Instintivamente, eu escreveria o seguinte.

 auto rng = src | view::transform(f) | view::join;

No entanto, isso não funcionará, porque não podemos criar visualizações de contêineres temporários.

Como o range-v3 suporta esse pipeline de range?

questionAnswers(5)

yourAnswerToTheQuestion