Namespaces
Variants

std:: ostream_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(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 de único paso que escribe objetos sucesivos de tipo T en el objeto std::basic_ostream para el cual fue construido, utilizando operator<< . Una cadena delimitadora opcional se escribe 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 (ya sea desreferenciado o no). Incrementar el std::ostream_iterator es una operación nula.

En una implementación típica, los únicos miembros de datos de std::ostream_iterator son un puntero al std::basic_ostream asociado y un puntero al primer carácter en 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 carácter.

Contenidos

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)