Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
equal
Prototype

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

Description

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.

Definition

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

Requirements

For the non-predicate versions:

For the predicate versions:

Complexity

Linear. At most min(distance(rng1), distance(rng2)) comparisons.


PrevUpHomeNext