hash_multimap::insert
[!REMARQUE]
Cette API est obsolète.l'alternative est unordered_multimap Class.
Insère un élément ou une plage d'éléments dans un hash_multimap.
iterator insert(
const value_type& _Val
);
iterator insert(
const_iterator _Where,
const value_type& _Val
);
template<class InputIterator>
void insert(
InputIterator _First,
InputIterator _Last
);
template<class ValTy>
iterator insert(
ValTy&& _Val
);
template<class ValTy>
iterator insert(
const_iterator _Where,
ValTy&& _Val
);
Paramètres
Paramètre |
Description |
_Val |
La valeur d'un élément à insérer dans le hash_multimap à moins que le hash_multimap contienne déjà cet élément ou, plus généralement, un élément dont la clé est de façon équivalente classée. |
_Where |
Une aide concernant l'emplacement pour commencer à rechercher le point correct d'implémentation. |
_First |
Position du premier élément à copier d'un mappage. |
_Last |
La position immédiatement au delà de le dernier élément à copier d'un mappage. |
Valeur de retour
Les deux premières fonctions membres d' insert retournent un itérateur qui indique la position où le nouvel élément a été inséré.
Les deux dernières fonctions membres d' insert se comportent de la même manière que les deux premiers, mais qu'elles passent l'élément la valeur insérée.
Notes
value_type d'un élément sont des paires, afin que la valeur d'un élément soit une paire triée de le premier composant égale à la valeur de la clé et le deuxième composant égale à la valeur de données de l'élément.
L'implémentation peut se produire dans le temps constante amortie pour la version des indicateurs de l'insertion, au lieu du temps logarithmique, si le point d'insertion suit immédiatement _Where.
La troisième fonction membre insère la séquence de valeurs d'élément dans une carte correspondant à chaque élément traité par un itérateur de dans la plage [_First, _Last) d'un jeu spécifié.
Exemple
// hash_multimap_insert.cpp
// compile with: /EHsc
#include <hash_map>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
using namespace stdext;
hash_multimap <int, int>::iterator hm1_pIter, hm2_pIter;
hash_multimap <int, int> hm1, hm2;
typedef pair <int, int> Int_Pair;
hm1.insert ( Int_Pair ( 1, 10 ) );
hm1.insert ( Int_Pair ( 2, 20 ) );
hm1.insert ( Int_Pair ( 3, 30 ) );
cout << "The original key values of hm1 =";
for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( );
hm1_pIter++ )
cout << " " << hm1_pIter -> first;
cout << "." << endl;
cout << "The original mapped values of hm1 =";
for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( );
hm1_pIter++ )
cout << " " << hm1_pIter -> second;
cout << "." << endl;
hm1.insert ( Int_Pair ( 1, 10 ) );
// The hint version of insert
hm1.insert( --hm1.end( ), Int_Pair ( 4, 40 ) );
cout << "After the insertions, the key values of hm1 =";
for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( );
hm1_pIter++ )
cout << " " << hm1_pIter -> first;
cout << "," << endl;
cout << " and the mapped values of hm1 =";
for ( hm1_pIter = hm1.begin( ); hm1_pIter != hm1.end( );
hm1_pIter++ )
cout << " " << hm1_pIter -> second;
cout << "." << endl;
hm2.insert ( Int_Pair ( 10, 100 ) );
// The templatized version inserting a range
hm2.insert( ++hm1.begin( ), --hm1.end( ) );
cout << "After the insertions, the key values of hm2 =";
for ( hm2_pIter = hm2.begin( ); hm2_pIter != hm2.end( );
hm2_pIter++ )
cout << " " << hm2_pIter -> first;
cout << "," << endl;
cout << " and the mapped values of hm2 =";
for ( hm2_pIter = hm2.begin( ); hm2_pIter != hm2.end( );
hm2_pIter++ )
cout << " " << hm2_pIter -> second;
cout << "." << endl;
// The templatized versions move constructing elements
hash_multimap<int, string> hm3, hm4;
pair<int, string> is1(1, "a"), is2(2, "b");
hm3.insert(move(is1));
cout << "After the move insertion, hm3 contains:" << endl
<< " " << hm3.begin()->first
<< " => " << hm3.begin()->second
<< endl;
hm4.insert(hm4.begin(), move(is2));
cout << "After the move insertion, hm4 contains:" << endl
<< " " << hm4.begin()->first
<< " => " << hm4.begin()->second
<< endl;
}
Configuration requise
en-tête : <hash_map>
Stdext del'espace de noms :