diff --git a/TinySTL/Algorithm.h b/TinySTL/Algorithm.h index 289eb92..480d048 100644 --- a/TinySTL/Algorithm.h +++ b/TinySTL/Algorithm.h @@ -368,6 +368,22 @@ namespace TinySTL{ } return make_pair(first1, first2); } + //********** [equal] ****************************** + //********* [Algorithm Complexity: O(N)] **************** + template + bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2){ + return TinySTL::equal(first1, last1, first2, TinySTL::equal_to::value_type>()); + } + template + bool equal(InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, BinaryPredicate pred){ + for (; first1 != last1; ++first1, ++first2){ + if (!pred(*first1, *first2)) + return false; + } + return true; + } }