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?