std:: ostream_iterator
|
Défini dans l'en-tête
<iterator>
|
||
|
template
<
class
T,
class
CharT
=
char
,
|
(jusqu'à C++17) | |
|
template
<
class
T,
class
CharT
=
char
,
|
(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
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
char_type
|
CharT
|
||||
traits_type
|
Traits
|
||||
ostream_type
|
std:: basic_ostream < CharT, Traits > |
|
Les types membres
|
(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) |