unordered_multimap::swap
Vertauscht den Inhalt von zwei Containern.
void swap(unordered_multimap& right);
Parameter
- right
Der Container, mit auszulagern.
Hinweise
Die Memberfunktion lagert der kontrollierten rightund *this zwischen Sequenzen aus.Wenn unordered_multimap::get_allocator() == right.get_allocator(), sodass er in der konstanten Zeitpunkt der Fall ist, löst nur infolge einer Ausnahme ab dem mit dem Kopieren des gespeicherten Merkmals Objekts vom Typ Trfehl, und es keine Verweise ungültig wird, Zeiger oder Iteratoren, die Elemente in den beiden Sequenzen gesteuerten festlegen.Andernfalls führt sie aus und Konstruktor ruft verschiedene Element-Zuweisungen proportional zur Anzahl der Elemente in den beiden gesteuerten Sequenzen an.
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 Function (unordered_multimap)