Partager via


is_permutation

Détermine si les éléments d'une plage données forment une permutation valide. Une permutation est une série d'éléments dans lesquels tous les éléments qui testent la valeur vrai pour une condition précèdent les éléments qui retournent faux.

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);

Paramètres

  • first1
    Un itérateur par progression qui fait référence au premier élément dans la plage spécifiée.

  • last1
    Un itérateur par progression qui correspond au dernier élément non inclus dans la plage spécifiée.

  • first2
    Un itérateur par progression qui fait référence au premier élément d'une deuxième plage, utilisé pour la comparaison.

  • pred
    Un attribut qui retourne bool.

Valeur de retour

true lorsque tous les éléments dans la plage données qui testent true pour une condition viennent avant que les éléments qui testent false; sinon, false.

Notes

La première fonction de modèle suppose qu'il y a autant d'éléments dans le début de la plage sur first2 qu'il y en a dans la plage affichée par [first1, last1). Retourne true uniquement si, pour chaque élément X dans la plage affichée par [first1last1), il y a autant d'éléments Y dans la même plage pour lesquels X == Y qu'il y en a dans la plage commençant à first2. Ici, operator== doit exécuter une comparaison par paire entre ses opérandes.

La deuxième fonction de modèle se comporte de la même, façon sauf qu'elle remplace operator==(X, Y) par pred(X, Y).

Configuration requise

En-tête : <algorithme>

Espace de noms : std

Voir aussi

Référence

<algorithm>

Bibliothèque STL (Standard Template Library)