Namespaces
Variants

std::ostream_iterator

De es.cppreference.net
 
 
Biblioteca de iteradores
Conceptos de iterador
Primitivas de iterador
Conceptos y utilidades de algoritmos
Conceptos invocables indirectos
Requisitos comunes de algoritmos
(C++20)
(C++20)
(C++20)
Utilidades
(C++20)
Adaptadores de iterador
Acceso a rangos
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
Definido en el encabezado <iterator>
template< class T,
          class CharT = char,
          class Traits = std::char_traits<CharT> >
class ostream_iterator
    : public std::iterator<std::output_iterator_tag, void, void, void, void>
(hasta C++17)
template< class T,
          class CharT = char,
          class Traits = std::char_traits<CharT> >
class ostream_iterator;
(desde C++17)

std::ostream_iterator es un LegacyOutputIterator que escribe objetos sucesivos de tipo T en el objeto std::basic_ostream para el cual fue construido, usando operator<<. Se escribe una cadena delimitadora opcional en el flujo de salida después de cada operación de escritura. La operación de escritura se realiza cuando se asigna al iterador (sin importar si se desreferencia o no). Incrementar el std::ostream_iterator no tiene efecto.

En una implementación típica, los únicos miembros de datos de std::ostream_iterator son un puntero al objeto std::basic_ostream asociado y un puntero al primer carácter de la cadena delimitadora.

Al escribir caracteres, std::ostreambuf_iterator es más eficiente, ya que evita la sobrecarga de construir y destruir el objeto sentry una vez por cada carácter.

Tipos de miembros

Tipo de miembro Definición
iterator_category std:: output_iterator_tag
value_type void
difference_type

void

(hasta C++20)

std::ptrdiff_t

(desde C++20)
pointer void
reference void
char_type CharT
traits_type Traits
ostream_type std:: basic_ostream < CharT, Traits >

Los tipos de miembros iterator_category , value_type , difference_type , pointer y reference deben obtenerse heredando de std:: iterator < std:: output_iterator_tag , void , void , void , void > .

(hasta C++17)

Funciones miembro

construye un nuevo ostream_iterator
(función miembro pública)
destruye un ostream_iterator
(función miembro pública)
escribe un objeto a la secuencia de salida asociada
(función miembro pública)
sin operación
(función miembro pública)
sin operación
(función miembro pública)

Ejemplo

#include <iostream>
#include <iterator>
#include <numeric>
#include <sstream>
int main()
{
    std::istringstream str("0.11 0.22 0.33 0.44");
    std::partial_sum(std::istream_iterator<double>(str),
                     std::istream_iterator<double>(),
                     std::ostream_iterator<double>(std::cout, ", "));
    std::cout << '\n';
}

Salida:

0.11, 0.33, 0.66, 1.1,

Véase también

iterador de salida que escribe en std::basic_streambuf
(plantilla de clase)
iterador de entrada que lee desde std::basic_istream
(plantilla de clase)
(library fundamentals TS v2)
un iterador de salida que escribe elementos sucesivos en un flujo de salida, separando elementos adyacentes con un delimitador
(plantilla de clase)