std:: ostream_iterator
|
Definido en el encabezado
<iterator>
|
||
|
template
<
class
T,
class
CharT
=
char
,
|
(hasta C++17) | |
|
template
<
class
T,
class
CharT
=
char
,
|
(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
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
char_type
|
CharT
|
||||
traits_type
|
Traits
|
||||
ostream_type
|
std:: basic_ostream < CharT, Traits > |
|
Los tipos de miembros
|
(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) |