equal [C++ Reference]
Keywords: stl,algorithm,equal
Date: 2010-02-20T05:19:58-0800

## equal

Syntax:

        #include <algorithm>
        bool equal( input_iterator start1, input_iterator end1, input_iterator2 start2 );
        bool equal( input_iterator start1, input_iterator end1, input_iterator2 start2, BinPred p );

The `equal` function returns true if the elements in two ranges are the same. The first range of elements are those between `start1` and `end1`. The second range of elements has the same size as the first range but starts at `start2`.

If the binary predicate `p` is specified, then it is used instead of == to compare each pair of elements.

For example, the following code uses `equal` to compare two vectors of integers:

       vector<int> v1;
       for( int i = 0; i < 10; i++ ) {
         v1.push_back( i );
       }

       vector<int> v2;
       for( int i = 0; i < 10; i++ ) {
         v2.push_back( i );
       }

       if( equal( v1.begin(), v1.end(), v2.begin() ) ) {
         cout << "v1 and v2 are equal" << endl;
       } else {
         cout << "v1 and v2 are NOT equal" << endl;
       }

Related Topics: find_if, lexicographical_compare, mismatch, search