diff --git a/include/boost/function/function_template.hpp b/include/boost/function/function_template.hpp index 202015b..6f073ce 100644 --- a/include/boost/function/function_template.hpp +++ b/include/boost/function/function_template.hpp @@ -282,7 +282,8 @@ namespace boost { BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f #ifndef BOOST_FUNCTION_NO_ENABLE_IF ,typename detail::function::enable_if< - (!is_same::value), + (::boost::type_traits::ice_not< + is_same::value>::value), int>::type = 0 #endif // BOOST_FUNCTION_NO_ENABLE_IF ) : @@ -329,7 +330,7 @@ namespace boost { template #ifndef BOOST_FUNCTION_NO_ENABLE_IF typename detail::function::enable_if< - (!is_same::value), + (::boost::type_traits::ice_not::value>::value), BOOST_FUNCTION_FUNCTION&>::type #else BOOST_FUNCTION_FUNCTION& @@ -577,7 +578,7 @@ public: function(Functor f #ifndef BOOST_FUNCTION_NO_ENABLE_IF ,typename detail::function::enable_if< - (!is_same::value), + (::boost::type_traits::ice_not::value>::value), int>::type = 0 #endif ) : @@ -602,7 +603,7 @@ public: template #ifndef BOOST_FUNCTION_NO_ENABLE_IF typename detail::function::enable_if< - (!is_same::value), + (::boost::type_traits::ice_not::value>::value), self_type&>::type #else self_type&