std::list::unique

From Cppreference

Jump to: navigation, search
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.

Contents

[edit] 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:

bool pred(const Type1 &a, const Type2 &b);

The signature does not need to have const &, but the function must not modify the objects passed to it.
The types Type1 and Type2 must be such that an object of type list<T,Allocator>::const_iterator can be dereferenced and then implicitly converted to both of them.

[edit] Return value

(none)

[edit] Example

[edit] Complexity

linear in the size of the container