cpp/algorithm/ranges/is permutation

@1@ Returns if there exists a  of the elements in range  that makes the range equal to  (after application of corresponding projections, , and using the binary predicate  as a comparator). Otherwise returns.

@2@ Same as, but uses as the first source range and  as the second source range, as if using  as ,  as ,  as , and  as.

Return value
if the range is a permutation of the range.

Complexity
At most applications of the predicate and each projection, or exactly  if the sequences are already equal, where  is. However if, no applications of the predicate and projections are made.