std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: insert
From cppreference.net
<
cpp
|
container
|
flat multimap
|
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
P
>
iterator insert ( P && x ) ; |
(5) | (seit C++23) |
|
template
<
class
P
>
iterator insert ( const_iterator pos, P && x ) ; |
(6) | (seit C++23) |
|
template
<
class
InputIt
>
void insert ( InputIt first, InputIt last ) ; |
(7) | (seit C++23) |
|
template
<
class
InputIt
>
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ; |
(8) | (seit C++23) |
|
void
insert
(
std::
initializer_list
<
key_type
>
ilist
)
;
|
(9) | (seit C++23) |
|
void
insert
(
std::
sorted_equivalent_t
s,
std::
initializer_list
<
key_type
>
ilist
)
;
|
(10) | (seit C++23) |
Fügt Element(e) in den Container ein.
1)
Fügt
value
ein. Entspricht
return
emplace
(
value
)
;
.
2)
Fügt
value
ein. 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 möglichst nah an der Position direkt vor
pos
liegt. Entspricht
return
emplace_hint
(
pos, std
::
move
(
value
)
)
;
.
5)
Fügt
x
in
*
this
ein, als ob durch
emplace
(
std::
forward
<
P
>
(
x
)
)
;
. Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
true
ist.
6)
Fügt
x
in
*
this
an einer Position ein, die möglichst nah an der Position direkt vor
pos
liegt. Entspricht
return
emplace_hint
(
position,
std::
forward
<
P
>
(
x
)
)
;
. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
true
ist.
7)
Fügt Elemente aus dem Bereich
[
first
,
last
)
ein, als ob die folgenden Operationen sequenziell ausgeführt würden:
-
Fügt Elemente zu
chinzu, als ob durch
for ( ; first ! = last ; ++ first )
{
value_type value = * first ;
c. keys . insert ( c. keys . end ( ) , std :: move ( value. first ) ) ;
c. values . insert ( c. values . end ( ) , std :: move ( value. second ) ) ;
} -
Sortiert den Bereich der neu eingefügten Elemente bezüglich
value_comp. - Führt den resultierenden sortierten Bereich und den sortierten Bereich der vorhandenen Elemente zu einem einzigen sortierten Bereich zusammen.
Kann während des In-Place-Merge-Vorgangs Speicher allozieren.
8)
Fügt Elemente aus dem Bereich
[
first
,
last
)
ein, als ob die folgenden Operationen sequenziell ausgeführt würden:
-
Fügt Elemente zu
chinzu, als ob durch
for ( ; first ! = last ; ++ first )
{
value_type value = * first ;
c. keys . insert ( c. keys . end ( ) , std :: move ( value. first ) ) ;
c. values . insert ( c. values . end ( ) , std :: move ( value. second ) ) ;
} - Führt den sortierten Bereich der neu hinzugefügten Elemente und den sortierten Bereich der bereits vorhandenen Elemente zu einem einzigen sortierten Bereich zusammen.
Kann während des In-Place-Merge-Vorgangs Speicher allozieren.
9)
Fügt Elemente aus der Initialisierungsliste
ilist
ein. Entspricht
insert
(
ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
10)
Fügt Elemente aus der Initialisierungsliste
ilist
ein. Entspricht
insert
(
s, ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
| Informationen zur Iterator-Invalidierung sind kopiert von hier |
Inhaltsverzeichnis |
Parameter
| pos | - | ein Iterator auf die Position, vor der das neue Element eingefügt wird |
| value | - | ein einzufügender Elementwert |
| first, last | - | das Iteratorpaar, das den Quell- Bereich der einzufügenden Elemente definiert |
| ilist | - | eine Initialisierungsliste, aus der die Werte eingefügt werden |
| x | - | ein Wert beliebigen Typs, der transparent mit einem Schlüssel verglichen werden kann |
| s | - |
ein Disambiguierungs-Tag, das anzeigt, dass die Eingabesequenz sortiert ist (bezüglich
value_comp()
)
|
| Typanforderungen | ||
-
InputIt
muss die Anforderungen von
LegacyInputIterator
erfüllen.
|
||
Rückgabewert
1-6)
Ein Iterator auf das eingefügte Element.
7-10)
(keine)
Exceptions
1-6)
Wenn eine Ausnahme durch einen beliebigen Vorgang ausgelöst wird, hat das Einfügen keine Auswirkung.
7-10)
Keine Ausnahmesicherheitsgarantie. (?)
|
Dieser Abschnitt ist unvollständig
Grund: Fälle 7-10 nochmals überprüfen |
Komplexität
1-6)
Linear in
size()
.
7)
N
+
M·log
(
M
)
, wobei
N
die
size()
vor dem Vorgang ist und
M
std::
distance
(
first, last
)
ist.
8)
Linear in
size()
.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein 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) |