unordered_multimap::swap
Échange le contenu de deux conteneurs.
void swap(unordered_multimap& right);
Paramètres
- right
Le conteneur à échanger avec.
Notes
La fonction membre sont permutés les séquences réorganisées entre *this et right. Si unordered_multimap::get_allocator() == right.get_allocator(), il fait dans le temps fixe, elle lève une exception en raison que de copier l'objet Ctraits stockées du type Tr, et il n'entraînent aucun référence, pointeur, ou itérateur qui indiquent des éléments dans les séquences contrôlées. Sinon, il exécute plusieurs affectations d'élément et le constructeur appelle proportionnel au nombre d'éléments dans les séquences contrôlées.
Exemple
// 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);
}
Configuration requise
En-tête : <unordered_map>
Espace de noms : std
Voir aussi
Référence
swap, fonction (unordered_multimap)