hash_multiset::insert
[!POZNÁMKA]
Toto rozhraní API je zastaralé.Alternativou je unordered_multiset Class.
Vloží prvek nebo rozsahu prvků 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
);
Parametry
Parametr |
Description |
_Val |
Hodnota prvku vložen hash_multiset, pokud hash_multiset již obsahuje prvku nebo obecněji, element, jehož klíč je ekvivalentně objednané. |
_Where |
Místo spuštění hledání správný bod vložení.(Vložení může dojít v amortized konstantní čas místo logaritmické času, pokud bod vložení následuje hned _Where.) |
_First |
Pozice prvního prvku zkopírovány z hash_multiset. |
_Last |
Pozice za poslední prvek zkopírovány z hash_multiset. |
Vrácená hodnota
První dva Vložení členské funkce vrátit iterátor, který odkazuje na umístění, kam byl vložen nový prvek.
Poslední dva Vložení členské funkce chovat stejně jako první dva až na to, že přesunou konstrukce vložené hodnoty.
Poznámky
Vložení může dojít v amortized konstantní čas pro verzi nápovědy vložit místo logaritmické času, pokud bod vložení následuje hned _Where.
Třetí členské funkce vloží do hash_multiset, každý prvek adresovány iterace v rozsahu odpovídajícím pořadí hodnot prvků [_First, _Last) ze zadaného hash_multiset.
Příklad
// 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;
}
Požadavky
Záhlaví: <hash_set>
Obor názvů: stdext