![]() |
Home | Libraries | People | FAQ | More |
template<class ForwardRange1, class ForwardRange2> typename range_iterator<ForwardRange1>::type search(ForwardRange1& rng1, const ForwardRange2& rng2); template<class ForwardRange1, class ForwardRange2> typename range_iterator<const ForwardRange1>::type search(const ForwardRange1& rng1, const ForwardRange2& rng2); template< class ForwardRange1, class ForwardRange2, class BinaryPredicate > typename range_iterator<ForwardRange1>::type, search(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); template< class ForwardRange1, class ForwardRange2, class BinaryPredicate > typename range_iterator<const ForwardRange1>::type search(const ForwardRange1& rng1, ForwardRange2& rng2, BinaryPredicate pred); template< range_return_value re, class ForwardRange1, class ForwardRange2 > typename range_return<ForwardRange1, re>::type search(ForwardRange1& rng1, const ForwardRange2& rng2); template< range_return_value re, class ForwardRange1, class ForwardRange2 > typename range_return<const ForwardRange1, re>::type search(const ForwardRange1& rng1, const ForwardRange2& rng2); template< range_return_value re, class ForwardRange1, class ForwardRange2, class BinaryPredicate > typename range_return<ForwardRange1, re>::type, search(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); template< range_return_value re, class ForwardRange1, class ForwardRange2, class BinaryPredicate > typename range_return<const ForwardRange1, re>::type search(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred);
The versions of search
that return an iterator, return an iterator to the start of the first
subsequence in rng1 that
is equal to the subsequence rng2.
The end(rng1)
is returned if no such subsequence exists in rng1.
Equality is determined by operator== for non-predicate versions of search, and by satisfying pred in the predicate versions.
The versions of search
that return a range_return,
defines found in the
same manner as the returned iterator described above.
Defined in the header file boost/range/algorithm/search.hpp
For the non-predicate versions:
ForwardRange1 is a
model of the Forward Range
Concept.
ForwardRange2 is a
model of the Forward Range
Concept.
ForwardRange1's value
type is a model of the EqualityComparableConcept.
ForwardRange2's value
type is a model of the EqualityComparableConcept.
ForwardRange1s value
type can be compared for equality with ForwardRange2's
value type.
For the predicate versions:
ForwardRange1 is a
model of the Forward Range
Concept.
ForwardRange2 is a
model of the Forward Range
Concept.
BinaryPredicate is
a model of the BinaryPredicateConcept.
ForwardRange1's value
type is convertible to BinaryPredicate's
first argument type.
ForwardRange2's value
type is convertible to BinaryPredicate's
second argument type.
Average complexity is Linear. Worst-case complexity is quadratic.