Espacios de nombres
Variantes

std::output_iterator

De cppreference.com
 
 
Biblioteca de iteradores
Conceptos de iteradores
Primitivas de iteradores
Conceptos de algoritmos y servicios
Conceptos invocables indirectos
Requerimientos comunes de algoritmos
Servicios
Adaptadores de iteradores
Iteradores de flujos
Puntos de personalización de iteradores
Operaciones de iteradores
(C++11)
(C++11)
Acceso a rangos
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
<tbody> </tbody>
Definido en el archivo de encabezado <iterator>
template <class I, class T> concept output_iterator = std::input_or_output_iterator<I> && std::indirectly_writable<I, T> && requires(I i, T&& t) { *i++ = std::forward<T>(t); // no se requiere que conserve la igualdad };
(desde C++20)

El concepto output_iterator es un refinamiento de input_or_output_iterator, añadiendo el requerimiento que puede ser usado para escribir valores de tipo y categoría de valor codificada por T (via indirectly_writable). equality_comparable no se requiere.

Requerimientos semánticos

Dejemos que E sea una expresión tal que decltype((E)) es T, e i sea un objeto desreferenciable de tipo I. output_iterator<I, T> es modelado solo si todos los conceptos que subsume se modelan, y *i++ = E; tiene efectos equivalentes a *i = E; ++i;.

Conservación de la igualdad

Una expresión es conservadora de igualdad si resulta en salidas iguales dadas entradas iguales.

  • Las entradas de una expresión consisten en sus operandos.
  • Las salidas de una expresión consisten en su resultado y todos los operandos modificados por la expresión (si es que los hay).

Cada expresión que se requiere sea conservadora de igualdad, se requiere además que sea estable: dos evaluaciones de tal expresión con los mismos objetos de entrada debe tener salidas iguales si no se encuentra alguna modificación interventora de esos objetos de entrada.

Notas

A diferencia de los requerimientos de OutputIterator, el concepto output_iterator no requiere que la etiqueta de la categoría del iterador se defina.

Los algoritmos en iteradores de salida deberán ser de un solo recorrido.

Véase también

Especifica que los objetos de un tipo pueden incrementarse y desreferenciarse.
(concepto) [editar]