std::front_insert_iterator
| Défini dans l'en-tête <iterator>
|
||
template< class Container >
class front_insert_iterator
: public std::iterator<std::output_iterator_tag, void, void, void, void>
|
(jusqu'à C++17) | |
template< class Container >
class front_insert_iterator;
|
(depuis C++17) | |
std::front_insert_iterator est un LegacyOutputIterator qui ajoute des éléments au début d'un conteneur pour lequel il a été construit. La fonction membre push_front() du conteneur est appelée chaque fois que l'itérateur (qu'il soit déréférencé ou non) est affecté. Incrémenter le std::front_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
front_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
(protégé)
|
un pointeur de type Container * |
Exemple
#include <algorithm> #include <deque> #include <iostream> #include <iterator> #include <vector> namespace stb { void println(auto, auto const& d) { std::ranges::copy(d, std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; } } int main() { std::vector<int> v{1, 2, 3, 4, 5}; std::deque<int> d; std::copy(v.begin(), v.end(), std::front_insert_iterator<std::deque<int>>(d)); // ou std::front_inserter(d) stb::println("{}", d); }
Sortie :
5 4 3 2 1
Voir aussi
|
crée un
std::front_insert_iterator
dont le type est déduit de l'argument
(modèle de fonction) |
|
|
adaptateur d'itérateur pour l'insertion à la fin d'un conteneur
(modèle de classe) |
|
|
adaptateur d'itérateur pour l'insertion dans un conteneur
(modèle de classe) |