Home | Libraries | People | FAQ | More |
template<class ForwardRange> typename range_return<ForwardRange, return_begin_found>::type unique(ForwardRange& rng); template<class ForwardRange> typename range_return<const ForwardRange, return_begin_found>::type unique(const ForwardRange& rng); template<class ForwardRange, class BinaryPredicate> typename range_return<ForwardRange, return_begin_found>::type unique(ForwardRange& rng, BinaryPredicate pred); template<class ForwardRange, class BinaryPredicate> typename range_return<const ForwardRange, return_begin_found>::type unique(const ForwardRange& rng, BinaryPredicate pred); template<range_return_value re, class ForwardRange> typename range_return<ForwardRange, re>::type unique(ForwardRange& rng); template<range_return_value re, class ForwardRange> typename range_return<const ForwardRange, re>::type unique(const ForwardRange& rng); template<range_return_value re, class ForwardRange, class BinaryPredicate> typename range_return<ForwardRange, re>::type unique(ForwardRange& rng, BinaryPredicate pred); template<range_return_value re, class ForwardRange, class BinaryPredicate> typename range_return<const ForwardRange, re>::type unique(const ForwardRange& rng, BinaryPredicate pred);
unique
removes all but
the first element of each sequence of duplicate encountered in rng
.
Elements in the range [new_last,
end(rng))
are dereferenceable but undefined.
Equality is determined by the predicate if one is supplied, or by operator==()
for ForwardRange
's value
type.
Defined in the header file boost/range/algorithm/unique.hpp
For the non-predicate versions of unique:
ForwardRange
is a
model of the Forward
Range Concept.
ForwardRange
is mutable.
ForwardRange
's value
type is a model of the EqualityComparableConcept
.
For the predicate versions of unique:
ForwardRange
is a
model of the Forward
Range Concept.
ForwardRange
is mutable.
BinaryPredicate
is
a model of the BinaryPredicateConcept
.
ForwardRange
's value
type is convertible to BinaryPredicate
's
first argument type and to BinaryPredicate
's
second argument type.
Linear. O(N)
where N
is distance(rng)
.
Exactly distance(rng)
comparisons are performed.