is_permutation
Bestimmt, ob die Elemente in einem angegebenen Bereich eine gültige Permutation bilden. Eine ist Permutation Reihe von Elementen, in denen alle Elemente, die gilt für eine Bedingung testen Elemente vorausgehen, die false zurückgeben.
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);
Parameter
first1
Ein Vorwärtsiterator, der das erste Element des angegebenen Bereichs auf.last1
Ein Vorwärtsiterator, der das nicht-inklusive letzte Element des angegebenen Bereichs auf.first2
Ein Vorwärtsiterator, der das erste Element eines zweiten Bereich verweist, verwendet für den Vergleich.pred
Ein Prädikat, das bool zurückgibt.
Rückgabewert
true, wenn alle Elemente im angegebenen Bereich, die true für eine Bedingung testen, vor allen Elementen sind, die false testen; andernfalls false.
Hinweise
Die erste Vorlagenfunktion wird davon ausgegangen, dass Elemente im Bereichsanfang bei first2 gibt, da es im Bereich gibt, der von festgelegt wird [first1, last1). Sie gibt nur true zurück, wenn, denn jedes Element X im Bereich, der von festgelegt wird [first1, last1) gibt so viele Elemente Y im selben Bereich befinden, für den x-== Y als dort im Bereichsanfang bei first2. Hier muss operator== einen paarweisen Vergleich zwischen den Operanden ausführen.
Die zweite Vorlagenfunktion verhält sich genauso, außer dass sie ersetzt operator==(X, Y) durch pred(X, Y).
Anforderungen
Header: <algorithm>
Namespace: std