Namespaces
Variants

std::flat_multiset<Key,Compare,KeyContainer>:: insert

From cppreference.net
iterator insert ( const value_type & value )
(1) (seit C++23)
iterator insert ( value_type && value ) ;
(2) (seit C++23)
iterator insert ( const_iterator pos, const value_type & value ) ;
(3) (seit C++23)
iterator insert ( const_iterator pos, value_type && value ) ;
(4) (seit C++23)
template < class InputIt >
void insert ( InputIt first, InputIt last ) ;
(5) (seit C++23)
template < class InputIt >
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ;
(6) (seit C++23)
void insert ( std:: initializer_list < key_type > ilist ) ;
(7) (seit C++23)
void insert ( std:: sorted_equivalent_t s, std:: initializer_list < key_type > ilist ) ;
(8) (seit C++23)

Fügt Element(e) in den Container ein. Die Reihenfolge der verbleibenden äquivalenten Elemente bleibt erhalten.

1) Fügt value ein. Wenn der Container Elemente mit äquivalentem Schlüssel enthält, wird am oberen Ende dieses Bereichs eingefügt. Entspricht return emplace ( value ) ; .
2) Fügt value ein. Wenn der Container Elemente mit äquivalentem Schlüssel enthält, wird an der oberen Grenze dieses Bereichs eingefügt. Entspricht return emplace ( std :: move ( value ) ) ; .
3) Fügt value an einer Position ein, die so nah wie möglich an der Position direkt vor pos liegt. Entspricht return emplace_hint ( pos, value ) ; .
4) Fügt value an einer Position ein, die so nah wie möglich an der Position direkt vor pos liegt. Entspricht return emplace_hint ( pos, std :: move ( value ) ) ; .
5) Fügt Elemente aus dem Bereich [ first , last ) ein, als ob die folgenden Operationen sequenziell ausgeführt würden:
  1. Fügt Elemente zu c hinzu, als ob durch c. insert ( c. end ( ) , first, last ) ; .
  2. Sortiert den Bereich der neu eingefügten Elemente in Bezug auf compare .
  3. Führt den resultierenden sortierten Bereich und den sortierten Bereich der bereits vorhandenen Elemente zu einem einzigen sortierten Bereich zusammen.
Kann während der In-Place-Zusammenführungsphase Speicher allozieren.
6) Fügt Elemente aus dem Bereich [ first , last ) ein. Entspricht insert ( first, last ) ; .
7) Fügt Elemente aus der Initialisierungsliste ilist ein. Entspricht insert ( ilist. begin ( ) , ilist. end ( ) ) ; .
8) Fügt Elemente aus der Initialisierungsliste ilist ein. Entspricht insert ( s, ilist. begin ( ) , ilist. end ( ) ) ; .

Inhaltsverzeichnis

Parameter

pos - Iterator auf die Position, vor der das neue Element eingefügt wird
value - Einzufügender Elementwert
first, last - Das Iteratorpaar, das den Quell- Bereich der einzufügenden Elemente definiert
ilist - Initialisierungsliste, aus der die Werte eingefügt werden
s - Ein Unterscheidungs-Tag, das anzeigt, dass die Eingabesequenz sortiert ist (bezüglich key_compare )
Typanforderungen
-
InputIt muss die Anforderungen von LegacyInputIterator erfüllen.

Rückgabewert

1-4) Ein Iterator auf das eingefügte Element.
5-8) (keine)

Ausnahmen

1-4) Hängt vom zugrunde liegenden Container ab.
5-8) Keine Ausnahmesicherheitsgarantie.

Komplexität

1-4) Linear.
5) N + M·log ( M ) , wobei N die size() vor dem Vorgang ist und M gleich std:: distance ( first, last ) ist.
6) Linear.
7) N + M·log ( M ) , wobei N die size() vor dem Vorgang ist und M gleich ilist. size ( ) ist.
8) Linear.

Beispiel

Siehe auch

Konstruiert Element direkt vor Ort
(öffentliche Elementfunktion)
Konstruiert Elemente direkt vor Ort mit Hinweis
(öffentliche Elementfunktion)
erstellt einen std::insert_iterator vom vom Argument abgeleiteten Typ
(Funktionstemplate)