Home | Libraries | People | FAQ | More |
template<class ForwardRange, class Integer, class Value> typename range_iterator<ForwardRange>::type search_n(ForwardRange& rng, Integer n, const Value& value); template<class ForwardRange, class Integer, class Value> typename range_iterator<const ForwardRange>::type search_n(const ForwardRange& rng, Integer n, const Value& value); template<class ForwardRange, class Integer, class Value, class BinaryPredicate> typename range_iterator<ForwardRange>::type search_n(ForwardRange& rng, Integer n, const Value& value, BinaryPredicate binary_pred); template<class ForwardRange, class Integer, class Value, class BinaryPredicate> typename range_iterator<const ForwardRange>::type search_n(const ForwardRange& rng, Integer n, const Value& value, BinaryPredicate binary_pred);
search_n
searches rng
for a sequence of length n
equal to value
where equality is determined by operator== in the non-predicate case,
and by a predicate when one is supplied.
Defined in the header file boost/range/algorithm/search_n.hpp
For the non-predicate versions:
ForwardRange
is a
model of the Forward
Range Concept.
ForwardRange
's value
type is a model of the EqualityComparableConcept
.
ForwardRange
s value
type can be compared for equality with Value
.
Integer
is a model
of the IntegerConcept
.
For the predicate versions:
ForwardRange
is a
model of the Forward
Range Concept.
BinaryPredicate
is
a model of the BinaryPredicateConcept
.
ForwardRange
's value
type is convertible to BinaryPredicate
's
first argument type.
Value
is convertible
to BinaryPredicate
's
second argument type.
Integer
is a model
of the IntegerConcept
.
Average complexity is Linear. Worst-case complexity is quadratic.