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