All the elements in [first2,last2) are compared to the each of the values in [first,last) until a match is found. The comparison is performed by either applying the == operator, or the template parameter comp (for the second version).
The behavior of this function template is equivalent to:
| 1 2 3 4 5 6 7 8 9 10 |
|
Parameters
- first1, last1
- Forward iterators to the initial and final positions of the searched sequence. The range used is [first1,last1), which contains all the elements between first1 and last1, including the element pointed by first1 but not the element pointed by last1.
- first2, last2
- Forward iterators to the initial and final positions of the element values to be searched for. The range used is [first2,last2).
- pred
- Binary predicate taking two elements as argument, and returning the result of the comparison between them, with true (non-zero) meaning that they are to be considered equal, and false (zero) that they are not-equal. This can either be a pointer to a function or an object whose class overloads operator().
Return value
An iterator to the first element in [first1,last1) that is part of [first2,last2).If none of the elements is found, the function returns last1.
Example
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
Output:
First match is: A First match is: a |
Complexity
At most, performs count1*count2 comparisons or applications of pred (where countX is the distance between firstX and lastX).See also
| search | Find subsequence in range (function template) |
| find | Find value in range (function template) |
| find_if | Find element in range (function template) |
