std::insert_iterator
| Definiert in Header <iterator>
|
||
template< class Container >
class insert_iterator : public std::iterator<std::output_iterator_tag,
void, void, void, void>
|
(bis C++17) | |
template< class Container >
class insert_iterator;
|
(seit C++17) | |
std::insert_iterator ist ein LegacyOutputIterator, der Elemente in einen Container einfügt, für den er konstruiert wurde, an der Position, auf die der bereitgestellte Iterator zeigt. Die insert-Memberfunktion des Containers wird aufgerufen, sobald dem Iterator (ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des insert() insert_iteratorstd::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
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ütztes Mitgliedsobjekt)
|
ein Zeiger vom Typ
Container*
|
iter
(geschütztes Mitgliedsobjekt)
|
ein Iterator vom Typ
Container::iterator
(bis C++20)
ranges::iterator_t<Container>
(seit C++20)
|
Beispiel
#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';
}
Ausgabe:
-1 1 2 3 4 5 -2 -3
Siehe auch
|
erstellt einen
std::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 am Anfang eines Containers
(Klassen-Template) |