Udostępnij za pośrednictwem


<unordered_set>, funkcje

swap (unordered_set)

Zamienia zawartości dwóch kontenerów.

template <class Key, class Hash, class Pred, class Alloc>
void swap(
   unordered_set <Key, Hash, Pred, Alloc>& left,
   unordered_set <Key, Hash, Pred, Alloc>& right);

Parametry

Klawisz
Typ klucza.

Mieszania
Typ obiektu funkcji mieszania.

Pred
Typ obiektu funkcji porównywania równości.

Alloc
Klasa alokatora.

Lewej
Pierwszy kontener do zamiany.

Prawo
Drugi kontener do zamiany.

Uwagi

Funkcja szablonu wykonuje left.unordered_set::swap(right).

Przykład

#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);
}
[c] [b] [a]
[f] [e] [d]
[c] [b] [a]

swap (unordered_multiset)

Zamienia zawartości dwóch kontenerów.

template <class Key, class Hash, class Pred, class Alloc>
void swap(
   unordered_multiset <Key, Hash, Pred, Alloc>& left,
   unordered_multiset <Key, Hash, Pred, Alloc>& right);

Parametry

Klawisz
Typ klucza.

Mieszania
Typ obiektu funkcji mieszania.

Pred
Typ obiektu funkcji porównywania równości.

Alloc
Klasa alokatora.

Lewej
Pierwszy kontener do zamiany.

Prawo
Drugi kontener do zamiany.

Uwagi

Funkcja szablonu wykonuje left.unordered_multiset::swap(right).

Przykład

// std__unordered_set__u_ms_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);
}
[c] [b] [a]
[f] [e] [d]
[c] [b] [a]