Funções <hash_set>

O <hash_set> cabeçalho fornece as seguintes funções:

trocar

Observação

Esta API está obsoleta. A alternativa é <unordered_set>. Esse cabeçalho foi removido nas Ferramentas de Build do MSVC 14.51.

Troca os elementos de dois hash_sets.

void swap(
    hash_set <Key, Traits, Allocator>& left,
    hash_set <Key, Traits, Allocator>& right);

Parâmetros

direita
O hash_set que fornece os elementos a serem trocados ou o hash_set cujos elementos deverão ser trocados pelos do hash_set left.

esquerda
O hash_set cujos elementos serão trocados por aqueles do hash_set right.

Comentários

A função de modelo swap é um algoritmo especializado na classe de contêiner hash_set para executar a função de membro left.swap(right). Trata-se de uma instância da ordenação parcial de modelos de função pelo compilador. Quando as funções de modelo são sobrecarregadas de forma que a correspondência do modelo com a chamada de função não é exclusiva, o compilador seleciona a versão mais especializada do modelo de função. A versão geral da função de modelo

classe de modelo <T> void swap(T&, T&),

na classe de algoritmo funciona por atribuição e é uma operação lenta. A versão especializada em cada contêiner é muito mais rápida, uma vez que ela pode funcionar com a representação interna da classe de contêiner.

Exemplo

Veja o exemplo de código da função de membro hash_multiset::swap para obter um exemplo que usa a versão de modelo do swap.

swap (hash_multiset)

Observação

Esta API está obsoleta. A alternativa é a Classe unordered_set.

Troca os elementos de dois hash_multisets.

void swap(hash_multiset <Key, Traits, Allocator>& left, hash_multiset <Key, Traits, Allocator>& right);

Parâmetros

right
O hash_multiset fornecendo os elementos a serem trocados ou os hash_multiset cujos elementos serão trocados com os do hash_multiset left.

left
O hash_multiset cujos elementos serão trocados com os do hash_multiset right.

Comentários

A função de modelo swap é um algoritmo especializado na classe de contêiner hash_multiset para executar a função de membro left.swap(right). Essa função demonstra como o compilador usa a ordenação parcial de modelos de função. Quando as funções de modelo são sobrecarregadas para que a correspondência do modelo com a chamada de função não seja exclusiva, o compilador seleciona a versão mais especializada da função de modelo. A versão geral da função template <class T> void swap(T&, T&) de modelo na classe de algoritmo funciona por atribuição e é uma operação lenta. A versão especializada em cada contêiner é muito mais rápida porque funciona com a representação interna da classe de contêiner.

Exemplo

Para obter um exemplo que usa a versão do modelo, consulte o exemplo de swapcódigo para a classe hash_multiset::swapmembro.

Confira também

<hash_set>