std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: insert
From cppreference.net
<
cpp
|
container
|
flat multimap
|
iterator insert
(
const
value_type
&
value
)
;
|
(1) | (depuis C++23) |
|
iterator insert
(
value_type
&&
value
)
;
|
(2) | (depuis C++23) |
|
iterator insert
(
const_iterator pos,
const
value_type
&
value
)
;
|
(3) | (depuis C++23) |
|
iterator insert
(
const_iterator pos, value_type
&&
value
)
;
|
(4) | (depuis C++23) |
|
template
<
class
P
>
iterator insert ( P && x ) ; |
(5) | (depuis C++23) |
|
template
<
class
P
>
iterator insert ( const_iterator pos, P && x ) ; |
(6) | (depuis C++23) |
|
template
<
class
InputIt
>
void insert ( InputIt first, InputIt last ) ; |
(7) | (depuis C++23) |
|
template
<
class
InputIt
>
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ; |
(8) | (depuis C++23) |
|
void
insert
(
std::
initializer_list
<
key_type
>
ilist
)
;
|
(9) | (depuis C++23) |
|
void
insert
(
std::
sorted_equivalent_t
s,
std::
initializer_list
<
key_type
>
ilist
)
;
|
(10) | (depuis C++23) |
Insère un ou plusieurs éléments dans le conteneur.
1)
Insère
value
. Équivalent à
return
emplace
(
value
)
;
.
2)
Insère
value
. Équivalent à
return
emplace
(
std
::
move
(
value
)
)
;
.
3)
Insère
value
à la position la plus proche possible de celle située juste avant
pos
. Équivalent à
return
emplace_hint
(
pos, value
)
;
.
4)
Insère
value
à la position aussi proche que possible de la position juste avant
pos
. Équivalent à
return
emplace_hint
(
pos, std
::
move
(
value
)
)
;
.
5)
Insère
x
dans
*
this
comme par
emplace
(
std::
forward
<
P
>
(
x
)
)
;
. Cette surcharge participe à la résolution de surcharge seulement si
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
est
true
.
6)
Insère
x
dans
*
this
à la position la plus proche possible de celle située juste avant
pos
. Équivalent à
return
emplace_hint
(
position,
std::
forward
<
P
>
(
x
)
)
;
. Cette surcharge participe à la résolution de surcharge uniquement si
std::
is_constructible_v
<
pair
<
key_type, mapped_type
>
, P
>
est
true
.
7)
Insère les éléments de l'intervalle
[
first
,
last
)
comme si les opérations suivantes étaient effectuées séquentiellement :
-
Ajoute les éléments à
ccomme par
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 ) ) ;
} -
Trie l'intervalle des éléments nouvellement insérés par rapport à
value_comp. - Fusionne l'intervalle trié résultant et l'intervalle trié des éléments préexistants en un seul intervalle trié.
Peut allouer de la mémoire pendant l'opération de fusion en place.
8)
Insère les éléments de l'intervalle
[
first
,
last
)
comme si les opérations suivantes étaient effectuées séquentiellement :
-
Ajoute les éléments à
ccomme suit :
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 ) ) ;
} - Fusionne la plage triée des éléments nouvellement ajoutés et la plage triée des éléments préexistants en une seule plage triée.
Peut allouer de la mémoire pendant l'opération de fusion en place.
9)
Insère les éléments de la liste d'initialisation
ilist
. Équivalent à
insert
(
ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
10)
Insère les éléments de la liste d'initialisation
ilist
. Équivalent à
insert
(
s, ilist.
begin
(
)
, ilist.
end
(
)
)
;
.
| Les informations sur l'invalidation des itérateurs sont copiées depuis ici |
Table des matières |
Paramètres
| pos | - | un itérateur vers la position avant laquelle le nouvel élément sera inséré |
| value | - | une valeur d'élément à insérer |
| first, last | - | la paire d'itérateurs définissant la plage source des éléments à insérer |
| ilist | - | une liste d'initialisation depuis laquelle insérer les valeurs |
| x | - | une valeur de tout type pouvant être comparée de manière transparente avec une clé |
| s | - |
une balise de désambiguïsation indiquant que la séquence d'entrée est triée (par rapport à
value_comp()
)
|
| Exigences de type | ||
-
InputIt
doit satisfaire aux exigences de
LegacyInputIterator
.
|
||
Valeur de retour
1-6)
Un itérateur vers l'élément inséré.
7-10)
(aucun)
Exceptions
1-6)
Si une exception est levée par une opération quelconque, l'insertion n'a aucun effet.
7-10)
Aucune garantie de sûreté face aux exceptions. (?)
|
Cette section est incomplète
Raison : vérifier les cas 7-10 |
Complexité
1-6)
Linéaire en
size()
.
8)
Linéaire en
size()
.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
construit un élément en place
(fonction membre publique) |
|
|
construit des éléments en place en utilisant un indice
(fonction membre publique) |
|
|
crée un
std::insert_iterator
du type déduit de l'argument
(fonction template) |