![]() |
Home | Libraries | People | FAQ | More |
template< class SinglePassRange1, class SinglePassRange2 > bool equal(const SinglePassRange1& rng1, const SinglePassRange2& rng2); template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate > bool equal(const SinglePassRange1& rng1, const SinglePassRange2& rng2, BinaryPredicate pred);
equal returns true if distance(rng1) is equal to the distance(rng2) and for each element x
in rng1, the corresponding
element y in rng2 is equal. Otherwise false is returned.
In this range version of equal
it is perfectly acceptable to pass in two ranges of unequal lengths.
Elements are considered equal in the non-predicate version if operator==
returns true. Elements are
considered equal in the predicate version if pred(x,y) is true.
Defined in the header file boost/range/algorithm/equal.hpp
For the non-predicate versions:
SinglePassRange1 is
a model of the Single
Pass Range Concept.
SinglePassRange2 is
a model of the Single
Pass Range Concept.
SinglePassRange1's
value type is a model of the EqualityComparableConcept.
SinglePassRange2's
value type is a model of the EqualityComparableConcept.
SinglePassRange1's
value type can be compared for equality with SinglePassRange2's
value type.
For the predicate versions:
SinglePassRange1 is
a model of the Single
Pass Range Concept.
SinglePassRange2 is
a model of the Single
Pass Range Concept.
BinaryPredicate is
a model of the BinaryPredicateConcept.
SinglePassRange1's
value type is convertible to BinaryPredicate's
first argument type.
SinglePassRange2's
value type is convertible to BinaryPredicate's
second argument type.
Linear. At most min(distance(rng1), distance(rng2))
comparisons.