std::experimental:: ostream_joiner
|
Definido en el encabezado
<experimental/iterator>
|
||
|
template
<
class
DelimT,
|
(biblioteca fundamentals TS v2) | |
std::experimental::ostream_joiner
es un
LegacyOutputIterator
de un solo paso que escribe objetos sucesivos en el objeto
std::basic_ostream
para el cual fue construido, usando
operator<<
, separados por un delimitador. El delimitador se escribe en el flujo de salida entre cada dos objetos que se escriben. La operación de escritura se realiza cuando el iterador (ya sea desreferenciado o no) es asignado. Incrementar el
ostream_joiner
es una operación sin efecto.
En una implementación típica, los únicos miembros de datos de
ostream_joiner
son un puntero al
std::basic_ostream
asociado, el delimitador, y un miembro
bool
que indica si la siguiente escritura es para el primer elemento de la secuencia.
En comparación con
std::ostream_iterator
,
ostream_joiner
imprime la secuencia delimitadora una vez menos, y no está basado en plantillas para el tipo del objeto a imprimir.
Contenidos |
Tipos de miembros
| Tipo de miembro | Definición |
char_type
|
CharT
|
traits_type
|
Traits
|
ostream_type
|
std:: basic_ostream < CharT, Traits > |
value_type
|
void |
difference_type
|
void |
pointer
|
void |
reference
|
void |
iterator_category
|
std:: output_iterator_tag |
Funciones miembro
construye un nuevo
ostream_joiner
(función miembro pública) |
|
|
(destructor)
(implicitly declared)
|
destruye un
ostream_joiner
(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) |
Funciones no miembro
crea un objeto
ostream_joiner
, deduciendo los argumentos de tipo de la plantilla a partir de los argumentos de la función
(plantilla de función) |
Ejemplo
#include <algorithm> #include <experimental/iterator> #include <iostream> #include <iterator> int main() { int i[] = {1, 2, 3, 4, 5}; std::copy(std::begin(i), std::end(i), std::experimental::make_ostream_joiner(std::cout, ", ")); }
Salida:
1, 2, 3, 4, 5
Véase también
|
iterador de salida que escribe en
std::basic_streambuf
(plantilla de clase) |
|
|
iterador de salida que escribe en
std::basic_ostream
(plantilla de clase) |
|
|
iterador de entrada que lee desde
std::basic_istream
(plantilla de clase) |