Template Function thrust::unique(ForwardIterator, ForwardIterator)¶
Function Documentation¶
-
template<typename
ForwardIterator>
ForwardIteratorthrust::unique(ForwardIterator first, ForwardIterator last) For each group of consecutive elements in the range
[first, last)with the same value,uniqueremoves all but the first element of the group. The return value is an iteratornew_lastsuch that no two consecutive elements in the range[first, new_last)are equal. The iterators in the range[new_last, last)are all still dereferenceable, but the elements that they point to are unspecified.uniqueis stable, meaning that the relative order of elements that are not removed is unchanged.This version of
uniqueusesoperator==to test for equality.The following code snippet demonstrates how to use
uniqueto compact a sequence of numbers to remove consecutive duplicates.- Return
The end of the unique range
[first, new_last).- Parameters
first: The beginning of the input range.last: The end of the input range.
- Template Parameters
ForwardIterator: is a model of Forward Iterator, andForwardIteratoris mutable, andForwardIterator'svalue_typeis a model of Equality Comparable.
#include <thrust/unique.h> ... const int N = 7; int A[N] = {1, 3, 3, 3, 2, 2, 1}; int *new_end = thrust::unique(A, A + N); // The first four values of A are now {1, 3, 2, 1} // Values beyond new_end are unspecified.
- See
- See
unique_copy