Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
iterator insert( const value_type& value )
(1) (seit C++23)
iterator einfügen( 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 einfügen( 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 einem äquivalenten Schlüssel hat, wird am oberen Ende dieses Bereichs eingefügt. Entspricht return emplace(value);.
2) Fügt value ein. Wenn der Container Elemente mit einem äquivalenten Schlüssel hat, wird am oberen Ende 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. Äquivalent zu 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. Äquivalent zu return emplace_hint(pos, std::move(value));.
5) Fügt Elemente aus dem Bereich [firstlast) ein, als ob die folgenden Operationen sequenziell ausgeführt würden.
  1. Fügt Elemente zu c hinzu, als ob dies durch c.insert(c.end(), first, last); erfolgen würde.
  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-Merge-Phase Speicher allozieren.
6) Fügt Elemente aus dem Bereich [firstlast) 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());.

Inhalt

[bearbeiten] Parameter

pos - Iterator zu der Position, vor der das neue Element eingefügt wird
value - Elementwert, der eingefügt werden soll
first, last - das Iteratorenpaar, das den Quell- Bereich der einzufügenden Elemente definiert
ilist - Initialisierungsliste, aus der die Werte eingefügt werden sollen
s - Ein Disambiguierungs-Tag, der angibt, dass die Eingabesequenz sortiert ist (in Bezug auf key_compare)
Typanforderungen
-
InputIt muss die Anforderungen von LegacyInputIterator erfüllen.

[bearbeiten] Rückgabewert

1-4) Ein Iterator zum eingefügten Element.
5-8) (keine)

[bearbeiten] Ausnahmen

1-4) Hängt vom zugrundeliegenden Container ab.
5-8) Keine Garantie für die Ausnahme-Sicherheit.

[bearbeiten] Komplexität

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

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

konstruiert Elemente direkt (in-place)
(public member function) [edit]
konstruiert Elemente "in place" unter Verwendung eines Hinweises
(public member function) [edit]
erstellt einen std::insert_iterator vom Typ, der aus dem Argument abgeleitet wird
(Funktionsvorlage) [bearbeiten]