unordered_set::swap
Vertauscht den Inhalt von zwei Containern.
void swap(unordered_set& right);
Parameter
- right
Der Container, mit auszutauschen.
Hinweise
Die Memberfunktion tauscht die gesteuerten Sequenzen zwischen *this und right aus. Wenn unordered_set::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_set__unordered_set_swap.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
typedef std::unordered_set<char> Myset;
int main()
{
Myset c1;
c1.insert('a');
c1.insert('b');
c1.insert('c');
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
Myset c2;
c2.insert('d');
c2.insert('e');
c2.insert('f');
c1.swap(c2);
// display contents " [f] [e] [d]"
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
swap(c1, c2);
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
return (0);
}
Anforderungen
Header: <unordered_set>
Namespace: std