thrust::mismatch
Defined in thrust/mismatch.h
-
template<typename InputIterator1, typename InputIterator2>
thrust::pair<InputIterator1, InputIterator2> thrust::mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) mismatch
finds the first position where the two ranges[first1, last1)
and[first2, first2 + (last1 - first1))
differ. The two versions ofmismatch
use different tests for whether elements differ.This version of
mismatch
finds the first iteratori
in[first1, last1)
such that*i == *(first2 + (i - first1))
isfalse
. The return value is apair
whose first element isi
and whose second element is*(first2 + (i - first1))
. If no such iteratori
exists, the return value is apair
whose first element islast1
and whose second element is*(first2 + (last1 - first1))
.#include <thrust/mismatch.h> #include <thrust/device_vector.h> ... thrust::device_vector<int> vec1(4); thrust::device_vector<int> vec2(4); vec1[0] = 0; vec2[0] = 0; vec1[1] = 5; vec2[1] = 5; vec1[2] = 3; vec2[2] = 8; vec1[3] = 7; vec2[3] = 7; using Iterator = thrust::device_vector<int>::iterator; thrust::pair<Iterator,Iterator> result; result = thrust::mismatch(vec1.begin(), vec1.end(), vec2.begin()); // result.first is vec1.begin() + 2 // result.second is vec2.begin() + 2
See also
find
See also
find_if
- Parameters
first1 – The beginning of the first sequence.
last1 – The end of the first sequence.
first2 – The beginning of the second sequence.
- Template Parameters
InputIterator1 – is a model of Input Iterator and
InputIterator1's
value_type
is equality comparable toInputIterator2's
value_type
.InputIterator2 – is a model of Input Iterator.
- Returns
The first position where the sequences differ.