void unique();  |  (1) | |
 template< class BinaryPredicate > void unique( BinaryPredicate p );  |  (2) | 
Removes all consecutive duplicate elements from the container. Only the first element in each group of equal elements is left. The first version uses operator== to compare the elements, the second version uses the given binary predicate p.
Parameters
| 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: 
 The signature does not need to have    |  
Return value
(none).
Complexity
Linear in the size of the container.
Example
#include <iostream>
#include <list>
 
int main()
{
  std::list<int> x = {1, 2, 2, 3, 3, 2, 1, 1, 2};
 
  std::cout << "contents before:";
  for (auto val : x)
    std::cout << ' ' << val;
  std::cout << '\n';
 
  x.unique();
  std::cout << "contents after unique():";
  for (auto val : x)
    std::cout << ' ' << val;
  std::cout << '\n';
 
  return 0;
}Output:
contents before: 1 2 2 3 3 2 1 1 2 contents after unique(): 1 2 3 2 1 2
See also
|  removes consecutive duplicate elements in a range  (function template)  |  
Please login to continue.