Compartilhar via


forward_list::merge

As combina duas classificaram seqüências em uma única seqüência classificado em tempo linear.Removendo os elementos da lista de argumentos, e inserir-los em este forward_list.As duas listas devem ser classificadas pelo mesmo comparam o objeto de função antes da chamada a merge.A lista combinada será ordenada pelo compara o objeto da função.

void merge(forward_list& _Right);
template<class Predicate>
    void merge(forward_list& _Right, Predicate _Comp);

Parâmetros

Parâmetro

Descrição

_Right

A lista a frente de mesclar.

_Comp

O objeto da função de comparação que é usado para classificar os elementos.

Comentários

forward_list::merge removendo os elementos de forward_list_Right, e inserir-los em este forward_list.Ambas as seqüências devem ser classificadas pelo mesmo predicado, descrito abaixo.A seqüência combinada também é ordenada pelo compara o objeto da função.

Para iteradores Pi e Pj que designarem os elementos em posições i e j, a primeira função de membro garante a ordem !(*Pj < *Pi) sempre que i < j.(Os elementos são classificados na ordem de ascending .) A segunda função de membro garante a ordem !_Comp(*Pj, *Pi) sempre que i < j.

Nenhum par de elementos na seqüência controlada original é invertido na seqüência controlada resultante.Se um par de elementos na seqüência controlada resultante compara o sinal de igual (!(*Pi < *Pj) && !(*Pj < *Pi)), um elemento de seqüência controlada original aparece antes de um elemento de seqüência controlada por _Right.

Uma exceção ocorre apenas se _Comp gera uma exceção.Em esse caso, a seqüência controlada é deixada em ordem não-especificada e a exceção é rethrown.

Requisitos

Cabeçalho: <forward_list>

namespace: STD

Consulte também

Referência

forward_list Class