Namespaces
Variants

std::front_insert_iterator

De fr.cppreference.net
 
 
Bibliothèque d'itérateurs
Concepts d'itérateurs
Primitives d'itérateurs
Concepts et utilitaires d'algorithmes
Concepts d'appelables indirects
Exigences communes d'algorithmes
(C++20)
(C++20)
(C++20)
Utilitaires
(C++20)
Adaptateurs d'itérateurs
Accès aux plages
(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 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

void

(jusqu'en C++20)

std::ptrdiff_t

(depuis C++20)
pointer void
reference void
container_type Container

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 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)