Namensräume
Varianten
Aktionen

std::front_insert_iterator

Von cppreference.com
< cpp‎ | iterator
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
Definiert in Header <iterator>
template< class Container >

class front_insert_iterator

    : public std::iterator<std::output_iterator_tag, void, void, void, void>
(bis C++17)
template< class Container >
class front_insert_iterator;
(seit C++17)

std::front_insert_iterator ist ein LegacyOutputIterator, der Elemente am Anfang eines Containers einfügt, für den er konstruiert wurde. Die Memberfunktion push_front() des Containers wird aufgerufen, wenn der Iterator (egal ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des std::front_insert_iterator ist eine No-Operation.

Inhalt

[bearbeiten] Member-Typen

Mitgliedertyp Definition
iterator_category std::output_iterator_tag
value_type void
difference_type

void

(bis C++20)

std::ptrdiff_t

(seit C++20)
Zeiger void
Referenz void
container_type Container

Die Member-Typen iterator_category, value_type, difference_type, pointer und reference müssen durch Ableitung von std::iterator<std::output_iterator_tag, void, void, void, void> erhalten werden.

(bis C++17)

[bearbeiten] Member functions

konstruiert einen neuen front_insert_iterator
(public member function) [bearbeiten]
fügt ein Objekt in den zugehörigen Container ein
(public member function) [bearbeiten]
no-op
(public member function) [bearbeiten]
no-op
(public member function) [bearbeiten]

[bearbeiten] Member objects

Member-Name Definition
container (protected) ein Zeiger vom Typ Container*

[bearbeiten] Example

#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));
              // or std::front_inserter(d)
 
    stb::println("{}", d);
}

Ausgabe

5 4 3 2 1

[bearbeiten] See also

erstellt einen std::front_insert_iterator vom Typ, der aus dem Argument abgeleitet wird
(Funktionsvorlage) [bearbeiten]
Iterator-Adapter für die Einfügung am Ende eines Containers
(Klassenvorlage) [bearbeiten]
Iterator-Adapter für die Einfügung in einen Container
(Klassenvorlage) [bearbeiten]