std::front_insert_iterator
| 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 an den Anfang eines Containers voranstellt, für den er konstruiert wurde. Die push_front()-Mitgliedsfunktion des Containers wird jedes Mal aufgerufen, wenn dem Iterator (ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des std::front_insert_iterator ist eine Nulloperation.
Mitgliedertypen
| Mitgliedstyp | Definition | ||||
iterator_category
|
std:: output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
Container
|
|
Die Member-Typen
|
(bis C++17) |
Memberfunktionen
konstruiert einen neuen
front_insert_iterator
(öffentliche Elementfunktion) |
|
|
fügt ein Objekt in den assoziierten Container ein
(öffentliche Elementfunktion) |
|
|
No-Op
(öffentliche Elementfunktion) |
|
|
No-Op
(öffentliche Elementfunktion) |
Member-Objekte
| Mitgliedername | Definition |
container
(geschützt)
|
ein Zeiger vom Typ Container * |
Beispiel
#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
Siehe auch
|
erstellt einen
std::front_insert_iterator
vom aus dem Argument abgeleiteten Typ
(Funktions-Template) |
|
|
Iterator-Adapter für das Einfügen am Ende eines Containers
(Klassen-Template) |
|
|
Iterator-Adapter für das Einfügen in einen Container
(Klassen-Template) |