cpp/algorithm/ranges/equal

@1@ Returns if the projected values of the range  are equal to the projected values of the range, and  otherwise.

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

Two ranges are considered equal if they have the same number of elements and every pair of corresponding projected elements satisfies. That is, returns  for all pairs of corresponding elements in both ranges.

Return value
If the length of the range does not equal the length of the range, returns.

If the elements in the two ranges are equal after projection, returns.

Otherwise returns.

Complexity
At most applications of the predicate and corresponding projections.

However, if and  both model std their respective iterators, and  then no applications of the predicate are made (size mismatch is detected without looking at any elements).