Partilhar via


<set> funções

swap (conjunto)

Troca os elementos de dois conjuntos.

template <class Key, class Traits, class Allocator>
void swap(set<Key, Traits, Allocator>& left, set<Key, Traits, Allocator>& right);

Parâmetros

direito
O conjunto que fornece os elementos a serem trocados, ou o conjunto cujos elementos devem ser trocados com os do conjunto à esquerda.

esquerda
O conjunto cujos elementos devem ser trocados com os do conjunto certo.

Observações

A função template é um algoritmo especializado na classe container definida para executar a função left.membro swap(right). Esta é uma instância da ordenação parcial de modelos de função pelo compilador. Quando as funções de modelo estão sobrecarregadas de tal forma que a correspondência do modelo com a chamada de função não é exclusiva, então o compilador selecionará a versão mais especializada da função de modelo. A versão geral da função de modelo

template < classe 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, pois pode trabalhar com a representação interna da classe de contêiner.

Exemplo

Consulte o exemplo de código para a classe de membro set::swap para obter um exemplo do uso da versão do modelo de swap.

swap (multiset)

Troca os elementos de dois conjuntos múltiplos.

template <class Key, class Traits, class Allocator>
void swap(multiset<Key, Traits, Allocator>& left, multiset<Key, Traits, Allocator>& right);

Parâmetros

direito
O multiset fornecendo os elementos a serem trocados, ou o multiset cujos elementos devem ser trocados com os do multiset esquerda.

esquerda
O multiset cujos elementos devem ser trocados com os do direito multiset.

Observações

A função template é um algoritmo especializado na classe container multiset para executar a função left.membro swap(right). Esta é uma instância da ordenação parcial de modelos de função pelo compilador. Quando as funções de modelo estão sobrecarregadas de tal forma que a correspondência do modelo com a chamada de função não é exclusiva, então o compilador selecionará a versão mais especializada da função de modelo. A versão geral da função de modelo

template < classe 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, pois pode trabalhar com a representação interna da classe de contêiner.

Exemplo

Consulte o exemplo de código para a classe membro multiset::swap para obter um exemplo do uso da versão do modelo de swap.