cpp/algorithm/lexicographical compare

Checks if the first range is lexicographically less than the second range.

@1@ Elements are compared using. @3@ Elements are compared using the given binary comparison function. @2,4@ Same as, but executed according to.

Lexicographical comparison is an operation with the following properties:
 * Two ranges are compared element by element.
 * The first mismatching element defines which range is lexicographically less or greater than the other.
 * If one range is a prefix of another, the shorter range is lexicographically less than the other.
 * If two ranges have equivalent elements and are of the same length, then the ranges are lexicographically equal.
 * An empty range is lexicographically less than any non-empty range.
 * Two empty ranges are lexicographically equal.

Return value
if the first range is lexicographically less than the second, otherwise.

Complexity
At most $2&middot;min(N1, N2)$ applications of the comparison operation, where and.