Partager via


unordered_multiset::swap

Échange le contenu de deux conteneurs.

void swap(unordered_multiset& right);

Paramètres

  • right
    Le conteneur à échanger avec.

Notes

La fonction membre permute les séquences contrôlées entre *this et right.Si unordered_multiset::get_allocator() == right.get_allocator(), il le fait dans le temps fixe, il lève une exception uniquement à la suite de copier l'objet Ctraits stocké du type Tr, et il n'invalide pas de référence, pointeur, ou itérateurs qui indiquent des éléments des deux séquences contrôlées.Sinon, il exécute plusieurs assignations d'élément et le constructeur appelle proportionnel au nombre d'éléments des deux séquences contrôlées.

Exemple

 

// std_tr1__unordered_set__unordered_multiset_swap.cpp 
// compile with: /EHsc 
#include <unordered_set> 
#include <iostream> 
 
typedef std::unordered_multiset<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); 
    } 
 
  

Configuration requise

en-tête : <unordered_set>

l'espace de noms : type

Voir aussi

Référence

<unordered_set>

unordered_multiset Class

swap Function (unordered_multiset)

Autres ressources

<unordered_set> membres