![]() |
Home | Libraries | People | FAQ | More |
template<class SinglePassRange, class OutputIterator> OutputIterator unique_copy(const SinglePassRange& rng, OutputIterator out); template<class SinglePassRange, class OutputIterator, class BinaryPredicate> OutputIterator unique_copy(const SinglePassRange& rng, OutputIterator out, BinaryPredicate pred);
unique_copy copies the
first element of each sequence of duplicates encountered in rng to out.
Equality is determined by the predicate if one is supplied, or by operator==()
for SinglePassRange's
value type.
Defined in the header file boost/range/algorithm/unique_copy.hpp
For the non-predicate versions of unique:
SinglePassRange is
a model of the Single
Pass Range Concept.
SinglePassRange is
mutable.
SinglePassRange's value
type is a model of the EqualityComparableConcept.
OutputIterator is a
model of the OutputIteratorConcept.
For the predicate versions of unique:
SinglePassRange is
a model of the Single
Pass Range Concept.
SinglePassRange is
mutable.
BinaryPredicate is
a model of the BinaryPredicateConcept.
SinglePassRange's value
type is convertible to BinaryPredicate's
first argument type and to BinaryPredicate's
second argument type.
OutputIterator is a
model of the OutputIteratorConcept.
Linear. O(N)
where N is distance(rng).
Exactly distance(rng)
comparisons are performed.