is_permutation

Determina si los elementos en un intervalo dado forman una permutaciónválida.Una permutación es una serie de elementos en los que todos los elementos que prueben true para una condición precedan los elementos que devuelven false.

template<class FwdIt1, class FwdIt2>
    bool is_permutation(FwdIt first1, FwdIt last1,
        FwdIt first2); 
template<class FwdIt1, class FwdIt2, class Pr>
    bool is_permutation(FwdIt first1, FwdIt last1,
        FwdIt first2, Pr pred);

Parámetros

  • first1
    Un iterador hacia delante que hace referencia al primer elemento del intervalo especificado.

  • last1
    Un iterador hacia delante que hace referencia a último no inclusivo del intervalo especificado.

  • first2
    Un iterador hacia delante que hace referencia al primer elemento de un segundo intervalo, utilizado para la comparación.

  • pred
    Un predicado que devuelve bool.

Valor devuelto

true cuando todos los elementos del intervalo especificado qué true para una condición proceden antes de cualquier elemento que pruebe false; si no, false.

Comentarios

La primera función de plantilla se supone que hay tantos elementos en el inicio del intervalo en first2 como hay en el intervalo designado por [first1, last1).Devuelve true sólo si, porque cada elemento X en el intervalo designado por [first1, last1) existen tanta y los elementos del mismo intervalo para el que la y == de X como hay en el inicio del intervalo en first2.Aquí, operator== debe realizar en pares una comparación entre sus operandos.

La segunda función de plantilla se comportará, salvo que reemplaza operator==(X, Y) con pred(X, Y).

Requisitos

encabezado: <algorithm>

espacio de nombres: std

Vea también

Referencia

<algorithm>

Biblioteca de plantillas estándar