Namespaces
Variants

std:: ostreambuf_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 CharT, class Traits = std:: char_traits < CharT > >

class ostreambuf_iterator

: public std:: iterator < std:: output_iterator_tag , void , void , void , void >
(hasta C++17)
template < class CharT, class Traits = std:: char_traits < CharT > >
class ostreambuf_iterator ;
(desde C++17)

std::ostreambuf_iterator es un LegacyOutputIterator de único paso que escribe caracteres sucesivos en el objeto std::basic_streambuf para el cual fue construido. La operación de escritura real se realiza cuando el iterador (ya sea desreferenciado o no) es asignado. Incrementar el std::ostreambuf_iterator es una operación nula.

En una implementación típica, los únicos miembros de datos de std::ostreambuf_iterator son un puntero al std::basic_streambuf asociado y un indicador booleano que muestra si se ha alcanzado la condición de fin de archivo.

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
streambuf_type std:: basic_streambuf < CharT, Traits >
ostream_type std:: basic_ostream < CharT, Traits >

Los tipos de miembro 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 ostreambuf_iterator
(función miembro pública)
(destructor)
(declarado implícitamente)
destruye un ostreambuf_iterator
(función miembro pública)
escribe un carácter en la secuencia de salida asociada
(función miembro pública)
operación nula
(función miembro pública)
operación nula
(función miembro pública)
verifica si la salida falló
(función miembro pública)

Ejemplo

#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
int main()
{
    std::string s = "This is an example\n";
    std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout));
}

Salida:

This is an example

Véase también

iterador de entrada que lee desde std::basic_streambuf
(plantilla de clase)
iterador de salida que escribe en std::basic_ostream
(plantilla de clase)