Difference between revisions of "cpp/algorithm/mismatch"
(+example, see http://stackoverflow.com/questions/3792168/alternative-solutions-to-this-programming-problem-all-languages-welcome/3792186#3792186 )) |
(explicit complexity) |
||
Line 35: | Line 35: | ||
===Complexity=== | ===Complexity=== | ||
− | + | At most {{tt|last1}} - {{tt|first1}} applications of the predicate | |
===Equivalent function=== | ===Equivalent function=== |
Revision as of 19:44, 17 August 2011
Template:cpp/algorithm/sidebar Template:ddcl list begin <tr class="t-dsc-header">
<td><algorithm>
<td></td> <td></td> </tr> <tr class="t-dcl ">
<td >std::pair< InputIterator1, InputIterator2 >
mismatch( InputIterator1 first1,
InputIterator1 last1,
<td > (1) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">
<td >std::pair< InputIterator1, InputIterator2 >
mismatch( InputIterator1 first1,
InputIterator1 last1,
InputIterator2 first2,
<td > (2) </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end
Returns the first mismatching pair of elements from two ranges: one defined by [first1, last1)
and another starting at first2
. The first version of the function uses operator==
to compare the elements, the second version uses the given binary predicate p
.
Contents |
Parameters
first1, last1 | - | the first range of the elements |
first2 | - | the beginning of the second range of the elements |
p | - | binary predicate which returns true if the elements should be treated as equal. The signature of the predicate function should be equivalent to the following: bool pred(const Type1 &a, const Type2 &b); While the signature does not need to have const &, the function must not modify the objects passed to it and must be able to accept all values of type (possibly const) |
Return value
Template:cpp with iterators to the first two non-equivalent elements, or, if no different elements found, pair with last1
and the corresponding iterator from the second range.
Complexity
At most last1
- first1
applications of the predicate