std::ostream_iterator
| 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
|
|
||||
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) |