Description

Includes tests whether one sorted range includes another sorted
range. That is, it returns true if and only if, for every element in
[first2, last2), an equivalent element [1] is also present in
[first1, last1)[2].
Both [first1, last1) and [first2, last2) must be sorted in ascending order.

The two versions of includes differ in how they define whether one
element is less than another. The first version compares
objects using operator<, and the second compares objects using
the function objectcomp.

Definition

Defined in the standard header algorithm, and in the nonstandard
backward-compatibility header algo.h.

Notes

[1]
This reads "an equivalent element" rather than "the same element"
because
the ordering by which the input ranges are sorted
is permitted to be a strict weak ordering that is not a total ordering:
there might be values x and y that are
equivalent (that is, neither x < y nor y < x is true) but not
equal. See the LessThan Comparable requirements for a fuller
discussion.)
If you're using a total ordering
(if you're using strcmp, for example, or if you're using
ordinary arithmetic comparison on integers), then you can ignore this
technical distinction: for a total ordering, equality and equivalence
are the same.

[2]
Note that the range [first2, last2) may contain a consecutive range
of equivalent elements: there is no requirement that every element in
the range be unique. In this case, includes will return false
unless, for every element in [first2, last2), a distinct equivalent
element is also present in [first1, last1). That is, if a certain
value appears n times in [first2, last2) and m times in
[first1, last1), then includes will return false if m < n.