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