hash_multiset::insert
[!NOTA]
Questo API è obsoleto.L'alternativa consiste unordered_multiset Class.
Inserire un elemento o un intervallo di elementi in 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
);
Parametri
Parametro |
Descrizione |
_Val |
Il valore di un elemento da inserire nel hash_multiset a meno che il hash_multiset già contenere più generale tale elemento, o, un elemento il cui la chiave equivalente è ordinata. |
_Where |
Il posto per avviare ricerca il punto corretto di inserimento.(Inserimento può verificarsi nel tempo costante ammortizzato, anziché tempo logaritmico, se il punto di inserimento immediatamente successivo a _Where). |
_First |
La posizione del primo elemento da un hash_multiset. |
_Last |
La posizione solo oltre l'ultimo elemento da un hash_multiset. |
Valore restituito
Le prime due funzioni membro insert restituiscono un iteratore che indica la posizione in cui il nuovo elemento è stato inserito.
Le ultime due funzioni membro insert si comportano allo stesso modo dei primi due, con la differenza che spostano il costrutto il valore immesso.
Note
L'inserimento può verificarsi nel tempo costante ammortizzato per la versione di suggerimento di inserimento, anziché tempo logaritmico, se il punto di inserimento immediatamente successivo a _Where.
La terza funzione membro inserire la sequenza di valori degli elementi in un hash_multiset corrispondente a ogni elemento indirizzato mediante un iteratore nell'intervallo [_First, _Last) di un hash_multiset specificato.
Esempio
// 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;
}
Requisiti
intestazione: <hash_set>
Stdext diSpazio dei nomi: