From 0b9a212cde2fdee93caddf3e916f28fb1a69ae4e Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 5 Nov 2015 21:11:17 +0100 Subject: [PATCH] deduplicate code --- alib2std/src/extensions/algorithm.hpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/alib2std/src/extensions/algorithm.hpp b/alib2std/src/extensions/algorithm.hpp index b8c6d1e336..1685438156 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_ */ -- GitLab