Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <functional>
- #include <iterator>
- template<typename ForwardIt, typename Compare>
- bool equal(ForwardIt first, ForwardIt last, Compare compare) {
- if(first == last) {
- return true;
- }
- ForwardIt next = std::next(first);
- while(next != last) {
- if(compare(*first, *next)) {
- ++first;
- ++next;
- } else {
- return false;
- }
- }
- return true;
- }
- template<typename ForwardIt>
- bool equal(ForwardIt first, ForwardIt last) {
- return ::equal(first, last, std::equal_to<>{ });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement