Funções <hash_set>
troca
Observação
Esta API está obsoleta. A alternativa é a Classe unordered_set.
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
direita
O hash_multiset que fornece os elementos a serem trocados ou o hash_multiset cujos elementos deverão ser trocados pelos do hash_multiset left.
esquerda
O hash_multiset cujos elementos serão trocados por aqueles 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
). 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 classe de membro hash_multiset::swap para obter um exemplo que usa a versão de modelo do swap
.