1. template <class InputIterator, class BinaryPredicate>                             
  2. inline bool equal(InputIterator first1, InputIterator last1, InputIterator first2, 
  3.           BinaryPredicate binary_pred) {                                          
  4.     for(; first1 != last1; ++first1, ++first2) {                                  
  5.         if(!binary_pred(*first1, *first2))                                        
  6.             return false;                                                         
  7.     }                                                                             
  8.     return true;