Para criar um pipeline de intervalo que processe valores dentro de contêineres temporários, é essencial incorporar o operador views::cache1. Este operador armazena em cache os resultados de uma transformação, garantindo que ela esteja disponível para operações subsequentes.
Considere o seguinte cenário em que uma função de terceiros f recebe um parâmetro do tipo T e retorna um vetor de T. Para criar um pipeline de intervalo que aplica f a todos os elementos de um intervalo infinito src e nivela os resultados em um único intervalo, podemos utilizar a seguinte abordagem:
auto rng = src | views::transform(f) | views::cache1 | views::join;
Componentes do pipeline:
Ao incorporar views::cache1, garantimos que os contêineres de vetores temporários criados por f estejam disponíveis para views::join concatenar em um único intervalo. Isso é essencial para criar pipelines de intervalo que funcionem corretamente com contêineres temporários.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3