hash_multiset::insert
[!REMARQUE]
Cette API est obsolète.l'alternative est unordered_multiset Class.
Insère un élément ou une plage d'éléments dans un hash_multiset.
iterator insert(
const value_type& _Val
);
iterator insert(
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_multiset à moins que le hash_multiset 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 |
L'emplacement pour commencer à rechercher le point correct d'implémentation.(L'implémentation peut se produire dans le temps fixe amorti, au lieu du temps logarithmique, si le point d'insertion suit immédiatement _Where.) |
_First |
Position du premier élément à copier d'un hash_multiset. |
_Last |
La position immédiatement au delà de le dernier élément à copier d'un hash_multiset. |
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
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 un hash_multiset correspondant à chaque élément traité par un itérateur de dans la plage [_First, _Last) d'un hash_multiset spécifié.
Exemple
// hash_multiset_insert.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int>::iterator hms1_pIter, hms2_pIter;
hash_multiset <int, hash_compare <int, less<int> > > hms1, hms2;
hms1.insert( 10 );
hms1.insert( 20 );
hms1.insert( 30 );
hms1.insert( 40 );
cout << "The original hms1 =";
for ( hms1_pIter = hms1.begin( ); hms1_pIter != hms1.end( );
hms1_pIter++ )
cout << " " << *hms1_pIter;
cout << "." << endl;
hms1.insert( 20 );
hms1.insert( --hms1.end( ), 50 );
cout << "After the insertions, hms1 =";
for ( hms1_pIter = hms1.begin( ); hms1_pIter != hms1.end( );
hms1_pIter++ )
cout << " " << *hms1_pIter;
cout << "." << endl;
hms2.insert( 100 );
hms2.insert( ++hms1.begin( ), --hms1.end( ) );
cout << "hms2 =";
for ( hms2_pIter = hms2.begin( ); hms2_pIter != hms2.end( );
hms2_pIter++ )
cout << " " << *hms2_pIter;
cout << "." << endl;
// move construct an element
hash_multiset<string> hms3, hms4;
string str1("a"), str2("b");
hms3.insert(move(str1));
cout << "After the move insertion, hms3 contains "
<< *hms3.begin() << "." << endl;
hms4.insert(hms4.begin(), move(str1));
cout << "After the move insertion, hms4 contains "
<< *hms4.begin() << "." << endl;
}
Configuration requise
en-tête : <hash_set>
Stdext del'espace de noms :