Para crear una canalización de rango que procese valores dentro de contenedores temporales, es esencial incorporar el operador views::cache1. Este operador almacena en caché los resultados de una transformación, asegurando que esté disponible para operaciones posteriores.
Considere el siguiente escenario donde una función de terceros f toma un parámetro de tipo T y devuelve un vector de T. Para crear una canalización de rango que aplica f a todos los elementos de un rango infinito src y aplana los resultados en un solo rango, podemos utilizar el siguiente enfoque:
auto rng = src | views::transform(f) | views::cache1 | views::join;
Componentes de la canalización:
Al incorporar views::cache1, nos aseguramos de que los contenedores vectoriales temporales creados por f estén disponibles para que views::join los concatene en un único rango. Esto es esencial para crear tuberías de rango que funcionen correctamente con contenedores temporales.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3