diff --git a/alib2std/src/extensions/algorithm.hpp b/alib2std/src/extensions/algorithm.hpp index b8c6d1e3364c0cfd7548aa45516a2d1fabcc7781..168543815628cef2c718352a39375fd06950a748 100644 --- a/alib2std/src/extensions/algorithm.hpp +++ b/alib2std/src/extensions/algorithm.hpp @@ -10,20 +10,6 @@ namespace std { -template<class InputIt1, class InputIt2> -bool excludes(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) { - while (first2 != last2 && first1 != last1) { - if ( *first2 < *first1 ) { - ++first2; - } else if( *first1 < *first2 ) { - ++first1; - } else { - return false; - } - } - return true; -} - template<class InputIt1, class InputIt2, class Compare> bool excludes(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, Compare comp) { while (first2 != last2 && first1 != last1) { @@ -38,6 +24,11 @@ bool excludes(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, return true; } +template<class InputIt1, class InputIt2> +bool excludes(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) { + return excludes(first1, last1, first2, last2, std::less<decltype(*first1)>()); +} + } /* namespace std */ #endif /* ALGORITHM_HPP_ */