std::insert_iterator
| Défini dans l'en-tête <iterator>
|
||
template< class Container >
class insert_iterator : public std::iterator<std::output_iterator_tag,
void, void, void, void>
|
(until C++17) | |
template< class Container >
class insert_iterator;
|
(since C++17) | |
std::insert_iterator est un LegacyOutputIterator qui insère des éléments dans un conteneur pour lequel il a été construit, à la position pointée par l'itérateur fourni. La fonction membre insert() est appelée à chaque fois que l'itérateur (qu'il soit déréférencé ou non) est assigné. Incrémenter le std::insert_iterator est une opération nulle.
Types membres
| Type de membre | Définition | ||||
iterator_category
|
std:: output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
Container
|
|
Les types membres
|
(jusqu'à C++17) |
Fonctions membres
construit un nouveau
insert_iterator
(fonction membre publique) |
|
|
insère un objet dans le conteneur associé
(fonction membre publique) |
|
|
opération nulle
(fonction membre publique) |
|
|
opération nulle
(fonction membre publique) |
Objets membres
| Nom du membre | Définition |
container
(objet membre protégé)
|
un pointeur de type
Container*
|
iter
(objet membre protégé)
|
un itérateur de type
Container::iterator
(jusqu'à C++20)
ranges::iterator_t<Container>
(depuis C++20)
|
Exemple
#include <algorithm>
#include <iostream>
#include <iterator>
#include <list>
#include <vector>
int main()
{
std::vector<int> v{1, 2, 3, 4, 5};
std::list<int> l{-1, -2, -3};
std::copy(v.begin(), v.end(), // may be simplified with std::inserter
std::insert_iterator<std::list<int>>(l, std::next(l.begin())));
for (int n : l)
std::cout << n << ' ';
std::cout << '\n';
}
Sortie :
-1 1 2 3 4 5 -2 -3
Voir aussi
|
crée un
std::insert_iterator
dont le type est déduit de l'argument
(fonction template) |
|
|
adaptateur d'itérateur pour l'insertion à la fin d'un conteneur
(classe template) |
|
|
adaptateur d'itérateur pour l'insertion au début d'un conteneur
(classe template) |