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)
Défini dans l'en-tête <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 >
(jusqu'à C++17)
template < class T,

class CharT = char ,
class Traits = std:: char_traits < CharT > >

class ostream_iterator ;
(depuis C++17)

std::ostream_iterator est un LegacyOutputIterator à passage unique qui écrit des objets successifs de type T dans l'objet std::basic_ostream pour lequel il a été construit, en utilisant operator<< . Une chaîne de délimitation optionnelle est écrite dans le flux de sortie après chaque opération d'écriture. L'opération d'écriture est effectuée lorsque l'itérateur (qu'il soit déréférencé ou non) est assigné. L'incrémentation du std::ostream_iterator est une opération sans effet.

Dans une implémentation typique, les seuls membres de données de std::ostream_iterator sont un pointeur vers le std::basic_ostream associé et un pointeur vers le premier caractère de la chaîne de délimitation.

Lors de l'écriture de caractères, std::ostreambuf_iterator est plus efficace, car il évite la surcharge de construction et de destruction de l'objet sentinelle à chaque caractère.

Table des matières

Types membres

Type de membre Définition
iterator_category std:: output_iterator_tag
value_type void
difference_type

void

(jusqu'en C++20)

std::ptrdiff_t

(depuis C++20)
pointer void
reference void
char_type CharT
traits_type Traits
ostream_type std:: basic_ostream < CharT, Traits >

Les types membres iterator_category , value_type , difference_type , pointer et reference doivent être obtenus en héritant de std:: iterator < std:: output_iterator_tag , void , void , void , void > .

(jusqu'à C++17)

Fonctions membres

construit un nouveau ostream_iterator
(fonction membre publique)
détruit un ostream_iterator
(fonction membre publique)
écrit un objet dans la séquence de sortie associée
(fonction membre publique)
opération nulle
(fonction membre publique)
opération nulle
(fonction membre publique)

Exemple

#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';
}

Sortie :

0.11, 0.33, 0.66, 1.1,

Voir aussi

itérateur de sortie qui écrit dans std::basic_streambuf
(modèle de classe)
itérateur d'entrée qui lit depuis std::basic_istream
(modèle de classe)
(library fundamentals TS v2)
un itérateur de sortie qui écrit des éléments successifs dans un flux de sortie, en séparant les éléments adjacents par un délimiteur
(modèle de classe)