unordered_multimap::swap
Vertauscht den Inhalt von zwei Containern.
void swap(unordered_multimap& right);
Parameter
- right
Der Container, mit auszutauschen.
Hinweise
Die Memberfunktion tauscht die gesteuerten Sequenzen zwischen *this und right aus. Wenn unordered_multimap::get_allocator() == right.get_allocator(), es so in der konstanten Zeit hat, löst sie eine Ausnahme nur infolge des Kopierens gespeicherten Merkmalsobjekts des Typs Tr aus, und macht keine Verweise, Zeiger und Iteratoren ungültig die Elemente in beiden Sequenzen gesteuerten festlegen. Andernfalls führt einige Element-Zuweisungen aus und Konstruktor ruft proportional zur Anzahl der Elemente in beiden Sequenzen gesteuerten auf.
Beispiel
// std_tr1__unordered_map__unordered_multimap_swap.cpp
// compile with: /EHsc
#include <unordered_map>
#include <iostream>
typedef std::unordered_multimap<char, int> Mymap;
int main()
{
Mymap c1;
c1.insert(Mymap::value_type('a', 1));
c1.insert(Mymap::value_type('b', 2));
c1.insert(Mymap::value_type('c', 3));
// display contents " [c 3] [b 2] [a 1]"
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
Mymap c2;
c2.insert(Mymap::value_type('d', 4));
c2.insert(Mymap::value_type('e', 5));
c2.insert(Mymap::value_type('f', 6));
c1.swap(c2);
// display contents " [f 6] [e 5] [d 4]"
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
swap(c1, c2);
// display contents " [c 3] [b 2] [a 1]"
for (Mymap::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << it->first << ", " << it->second << "]";
std::cout << std::endl;
return (0);
}
Anforderungen
Header: <unordered_map>
Namespace: std
Siehe auch
Referenz
swap-Funktion (unordered_multimap)