unordered_multimap::insert
Insère un élément ou une plage d'éléments dans une classe unordered_multimap.
// (1) single element pair<iterator, bool> insert( const value_type& Val ); // (2) single element, perfect forwarded template<class ValTy> pair<iterator, bool> insert( ValTy&& Val ); // (3) single element with hint iterator insert( const_iterator Where, const value_type& Val ); // (4) single element, perfect forwarded, with hint template<class ValTy> iterator insert( const_iterator Where, ValTy&& Val ); // (5) range template<class InputIterator> void insert( InputIterator First, InputIterator Last ); // (6) initializer list void insert( initializer_list<value_type> IList );
Paramètres
Paramètre |
Description |
Val |
Valeur d'un élément à insérer dans la classe unordered_multimap. |
Where |
Emplacement où commencer à rechercher le point d'insertion correct. |
ValTy |
Paramètre de modèle qui spécifie le type d'argument que la classe unordered_multimap peut utiliser pour construire un élément de value_type et effectue un transfert parfait de Val comme argument. |
First |
Position du premier élément à copier. |
Last |
Position juste au-delà du dernier élément à copier. |
InputIterator |
Argument de fonction avec modèle qui remplit les conditions requises par un itérateur d'entrée qui pointe vers des éléments d'un type pouvant servir à construire des objets value_type. |
IList |
initializer_list depuis laquelle copier les éléments. |
Valeur de retour
Les fonctions membres d'insertion à un élément, (1) et (2), retournent un itérateur vers l'emplacement où le nouvel élément a été inséré dans la classe unordered_multimap.
Les fonctions membres à un élément avec indicateur, (3) et (4), retournent un itérateur qui pointe vers l'emplacement où le nouvel élément a été inséré dans la classe unordered_multimap.
Notes
Aucun pointeur ou référence n'est invalidé par cette fonction, mais elle peut invalider tous les itérateurs du conteneur.
Durant l'insertion d'un seul élément, si une exception est levée mais qu'elle ne se produit pas dans la fonction de hachage du conteneur, l'état du conteneur n'est pas modifié. Si l'exception est levée dans la fonction de hachage, le résultat n'est pas défini. Durant l'insertion de plusieurs éléments, si une exception est levée, le conteneur reste dans un état non spécifié mais valide.
La value_type d'un conteneur est un typedef qui appartient au conteneur et, pour la classe map, map<K, V>::value_type est pair<const K, V>. La valeur d'un élément est une paire ordonnée dans laquelle le premier composant est égal à la valeur de clé et le second composant est égal à la valeur de données de l'élément.
La fonction membre de plage (5) insère la séquence de valeurs d'éléments dans une classe unordered_multimap qui correspond à chaque élément traité par un itérateur dans la plage [First, Last) ; ainsi, Last n'est pas inséré. La fonction membre de conteneur end() fait référence à la position qui suit le dernier élément du conteneur. Par exemple, l'instruction m.insert(v.begin(), v.end()); insère tous les éléments de v dans m.
La fonction membre de liste d'initialiseurs (6) utilise une initializer_list pour copier des éléments dans la classe unordered_multimap.
Pour plus d'informations sur l'insertion d'un élément construit sur place (autrement dit, aucune opération de copie ni de déplacement n'est effectuée), voir unordered_multimap::emplace et unordered_multimap::emplace_hint.
Pour obtenir un exemple de code, consultez multiset::insert.
Configuration requise
En-tête : <unordered_map>
Espace de noms : std