From 0baa42f3280725f7dfee3d2f8e1f5e04267876ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Mon, 15 Jul 2024 12:52:35 +0200 Subject: [PATCH] Support different types in algo_pred_equal and algo_pred_less --- include/boost/intrusive/detail/algorithm.hpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/boost/intrusive/detail/algorithm.hpp b/include/boost/intrusive/detail/algorithm.hpp index d2421ff..f20c9d1 100644 --- a/include/boost/intrusive/detail/algorithm.hpp +++ b/include/boost/intrusive/detail/algorithm.hpp @@ -26,15 +26,15 @@ namespace intrusive { struct algo_pred_equal { - template - bool operator()(const T &x, const T &y) const + template + bool operator()(const T &x, const T2 &y) const { return x == y; } }; struct algo_pred_less { - template - bool operator()(const T &x, const T &y) const + template + bool operator()(const T &x, const T2 &y) const { return x < y; } }; @@ -49,10 +49,6 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, BinaryPredicat return true; } -template -bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2) -{ return (algo_equal)(first1, last1, first2, algo_pred_equal()); } - template bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, BinaryPredicate pred) { @@ -62,6 +58,10 @@ bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2 return first1 == last1 && first2 == last2; } +template +bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2) +{ return (algo_equal)(first1, last1, first2, algo_pred_equal()); } + template bool algo_equal(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) { return (algo_equal)(first1, last1, first2, last2, algo_pred_equal()); }