Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

search_n
PrevUpHomeNext
Prototype

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);

Description

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.

Definition

Defined in the header file boost/range/algorithm/search_n.hpp

Requirements

For the non-predicate versions:

  • ForwardRange is a model of the Forward Range Concept.
  • ForwardRange's value type is a model of the EqualityComparableConcept.
  • ForwardRanges 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.
Complexity

Average complexity is Linear. Worst-case complexity is quadratic.


PrevUpHomeNext