Namespaces
Variants

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

From cppreference.net
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 InputIt >
void insert ( InputIt first, InputIt last ) ;
(5) (depuis C++23)
template < class InputIt >
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ;
(6) (depuis C++23)
void insert ( std:: initializer_list < key_type > ilist ) ;
(7) (depuis C++23)
void insert ( std:: sorted_equivalent_t s, std:: initializer_list < key_type > ilist ) ;
(8) (depuis C++23)

Insère un ou plusieurs éléments dans le conteneur. L'ordre des éléments équivalents restants est préservé.

1) Insère value . Si le conteneur a des éléments avec une clé équivalente, insère à la limite supérieure de cette plage. Équivalent à return emplace ( value ) ; .
2) Insère value . Si le conteneur a des éléments avec une clé équivalente, insère à la limite supérieure de cette plage. É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 les éléments de la plage [ first , last ) comme si les opérations suivantes étaient effectuées séquentiellement :
  1. Ajoute les éléments à c comme par c. insert ( c. end ( ) , first, last ) ; .
  2. Trie la plage des éléments nouvellement insérés par rapport à compare .
  3. Fusionne la plage triée résultante et la plage triée des éléments préexistants en une seule plage triée.
Peut allouer de la mémoire pendant la phase de fusion en place.
6) Insère les éléments de la plage [ first , last ) . Équivalent à insert ( first, last ) ; .
7) Insère les éléments de la liste d'initialisation ilist . Équivalent à insert ( ilist. begin ( ) , ilist. end ( ) ) ; .
8) Insère les éléments de la liste d'initialisation ilist . Équivalent à insert ( s, ilist. begin ( ) , ilist. end ( ) ) ; .

Table des matières

Paramètres

pos - itérateur vers la position avant laquelle le nouvel élément sera inséré
value - valeur de l'élément à insérer
first, last - la paire d'itérateurs définissant la plage source des éléments à insérer
ilist - liste d'initialisation depuis laquelle insérer les valeurs
s - une balise de désambiguïsation indiquant que la séquence d'entrée est triée (par rapport à key_compare )
Exigences de type
-
InputIt doit satisfaire aux exigences de LegacyInputIterator .

Valeur de retour

1-4) Un itérateur vers l'élément inséré.
5-8) (aucun)

Exceptions

1-4) Dépend du conteneur sous-jacent.
5-8) Aucune garantie de sûreté face aux exceptions.

Complexité

1-4) Linéaire.
5) N + M·log ( M ) , où N est la size() avant l'opération et M est std:: distance ( first, last ) .
6) Linéaire.
7) N + M·log ( M ) , où N est la size() avant l'opération et M est ilist. size ( ) .
8) Linéaire.

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)