Template Function thrust::equal(InputIterator1, InputIterator1, InputIterator2)

Function Documentation

template<typename InputIterator1, typename InputIterator2>
bool thrust::equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2)

equal returns true if the two ranges [first1, last1) and [first2, first2 + (last1 - first1)) are identical when compared element-by-element, and otherwise returns false.

This version of equal returns true if and only if for every iterator i in [first1, last1), *i == *(first2 + (i - first1)).

The following code snippet demonstrates how to use

equal to test two ranges for equality.
Return

true, if the sequences are equal; false, otherwise.

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 a model of Equality Comparable, and InputIterator1's value_type can be compared for equality with InputIterator2's value_type.

  • InputIterator2: is a model of Input Iterator, and InputIterator2's value_type is a model of Equality Comparable, and InputIterator2's value_type can be compared for equality with InputIterator1's value_type.

#include <thrust/equal.h>
...
int A1[7] = {3, 1, 4, 1, 5, 9, 3};
int A2[7] = {3, 1, 4, 2, 8, 5, 7};
...
bool result = thrust::equal(A1, A1 + 7, A2);

// result == false

See

http://www.sgi.com/tech/stl/equal.html