std::experimental:: ostream_joiner
|
Défini dans l'en-tête
<experimental/iterator>
|
||
|
template
<
class
DelimT,
|
(bibliothèque fondamentale TS v2) | |
std::experimental::ostream_joiner
est un
LegacyOutputIterator
à passage unique qui écrit des objets successifs dans l'objet
std::basic_ostream
pour lequel il a été construit, en utilisant
operator<<
, séparés par un délimiteur. Le délimiteur est écrit dans le flux de sortie entre chaque paire d'objets écrits. 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
ostream_joiner
est une opération sans effet.
Dans une implémentation typique, les seuls membres de données de
ostream_joiner
sont un pointeur vers le
std::basic_ostream
associé, le délimiteur, et un membre
bool
qui indique si la prochaine écriture concerne le premier élément de la séquence.
Comparé à
std::ostream_iterator
,
ostream_joiner
imprime la séquence de délimiteurs une fois de moins, et n'est pas templaté sur le type de l'objet à imprimer.
Table des matières |
Types membres
| Type de membre | Définition |
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 |
Fonctions membres
construit un nouveau
ostream_joiner
(fonction membre publique) |
|
|
(destructor)
(implicitly declared)
|
détruit un
ostream_joiner
(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) |
Fonctions non membres
crée un objet
ostream_joiner
en déduisant les arguments de type du template à partir des arguments de la fonction
(modèle de fonction) |
Exemple
#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, ", ")); }
Sortie :
1, 2, 3, 4, 5
Voir aussi
|
itérateur de sortie qui écrit dans
std::basic_streambuf
(modèle de classe) |
|
|
itérateur de sortie qui écrit dans
std::basic_ostream
(modèle de classe) |
|
|
itérateur d'entrée qui lit depuis
std::basic_istream
(modèle de classe) |